Windows 通过任务添加内容、启动转录本和删除启动时不工作的项
我以为我已经完全解决了这个问题,但还没有解决。再深入一点,学到了更多的东西 目标Windows 通过任务添加内容、启动转录本和删除启动时不工作的项,windows,powershell,Windows,Powershell,我以为我已经完全解决了这个问题,但还没有解决。再深入一点,学到了更多的东西 目标 在启动时使用UNC路径创建文件共享的日志文件。使用添加内容 使用Start Transcript创建正在运行的PS脚本的本地日志 使用Remove Item完成后删除文件 问题仅在部分时间。有时候一切都很完美 未创建日志,也未删除文件 如果其中一项不起作用,那么它们都失败了。在我的测试中,我没有看到只有一个操作是完整的 我没有任何错误来显示或帮助我识别问题。脚本由任务通过任务计划程序使用系统帐户运行 不确定
- 在启动时使用UNC路径创建文件共享的日志文件。使用
添加内容
- 使用
创建正在运行的PS脚本的本地日志Start Transcript
- 使用
完成后删除文件Remove Item
- 未创建日志,也未删除文件
- 如果其中一项不起作用,那么它们都失败了。在我的测试中,我没有看到只有一个操作是完整的
- 我没有任何错误来显示或帮助我识别问题。脚本由任务通过任务计划程序使用系统帐户运行
$Task_Action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-File C:\Script.ps1'
$Task_Principal = New-ScheduledTaskPrincipal -UserId SYSTEM -RunLevel Highest
$Task_Settings = New-ScheduledTaskSettingsSet -Hidden
$Task_Trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask `
-TaskName "This is Task" `
-Action $Task_Action `
-Principal $Task_Principal `
-Trigger $Task_Trigger `
-Settings $Task_Settings `
-Force
Start-Transcript -Path "C:\Logs\Transcript.txt"
Function WriteTo-LogFile($Text_For_Log) {
$Log_DateTime = (Get-Date).ToFileTimeUtc()
Add-Content -Path $Log_File -Value ($Log_DateTime + ",$Text_For_Log")
}
WriteTo-LogFile ("Adding Stuff to Log.")
这是如何创建成绩单的
$Task_Action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-File C:\Script.ps1'
$Task_Principal = New-ScheduledTaskPrincipal -UserId SYSTEM -RunLevel Highest
$Task_Settings = New-ScheduledTaskSettingsSet -Hidden
$Task_Trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask `
-TaskName "This is Task" `
-Action $Task_Action `
-Principal $Task_Principal `
-Trigger $Task_Trigger `
-Settings $Task_Settings `
-Force
Start-Transcript -Path "C:\Logs\Transcript.txt"
Function WriteTo-LogFile($Text_For_Log) {
$Log_DateTime = (Get-Date).ToFileTimeUtc()
Add-Content -Path $Log_File -Value ($Log_DateTime + ",$Text_For_Log")
}
WriteTo-LogFile ("Adding Stuff to Log.")
这是通过UNC路径添加日志的方式
$Task_Action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-File C:\Script.ps1'
$Task_Principal = New-ScheduledTaskPrincipal -UserId SYSTEM -RunLevel Highest
$Task_Settings = New-ScheduledTaskSettingsSet -Hidden
$Task_Trigger = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask `
-TaskName "This is Task" `
-Action $Task_Action `
-Principal $Task_Principal `
-Trigger $Task_Trigger `
-Settings $Task_Settings `
-Force
Start-Transcript -Path "C:\Logs\Transcript.txt"
Function WriteTo-LogFile($Text_For_Log) {
$Log_DateTime = (Get-Date).ToFileTimeUtc()
Add-Content -Path $Log_File -Value ($Log_DateTime + ",$Text_For_Log")
}
WriteTo-LogFile ("Adding Stuff to Log.")
嗯,我不能详细告诉您具体情况,但我怀疑您的问题源于系统帐户没有共享权限。这不能解释无法使用
Start Transcript
写入C驱动器或无法使用Remove Item
这两个都是机器本地的。机器上的系统帐户之间可能有什么不同?@Backin没有看到您的脚本,我们不知道您调用的顺序,以及哪一个可能是实际问题。