启动作业/任务在windows上不工作
我注册了一份新的创业工作,如下所示启动作业/任务在windows上不工作,windows,powershell,scheduled-tasks,Windows,Powershell,Scheduled Tasks,我注册了一份新的创业工作,如下所示 $trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30 $option = New-ScheduledJobOption -RunElevated –ContinueIfGoingOnBattery Register-ScheduledJob -Name startup_test -FilePath C:\startup.ps1 -Trigger $trigger -ScheduledJobO
$trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30
$option = New-ScheduledJobOption -RunElevated –ContinueIfGoingOnBattery
Register-ScheduledJob -Name startup_test -FilePath C:\startup.ps1 -Trigger $trigger -ScheduledJobOption $option
New-Item c:\test_startup_success.txt -type file
我的startup.ps1脚本如下
$trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30
$option = New-ScheduledJobOption -RunElevated –ContinueIfGoingOnBattery
Register-ScheduledJob -Name startup_test -FilePath C:\startup.ps1 -Trigger $trigger -ScheduledJobOption $option
New-Item c:\test_startup_success.txt -type file
当我重新启动windows server 2012 R2 core时,它不会创建文件。已使用重新启动
shutdown /r
但是如果我使用test,它就创建了这个文件
Start-Job -DefinitionName startup_test
有没有什么我遗漏的,需要专门为创业工作做的
更新:
我执行了以下命令以查看作业是否失败,但输出为空
Get-WinEvent -LogName Microsoft-Windows-TaskScheduler/Operational | Where {$_.Message -like "*fail*"}
我的猜测是,这项工作本身并没有得到执行。某些条件可能无法得到满足。甚至作业触发器也已启用
PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-ScheduledJob | Get-JobTrigger
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 AtStartup True
当你测试它时,你是从一个升高的外壳上运行的吗?是的。。我在提升的shell中运行了它。我还在ScheduledJobtry的选项中添加了相同的选项,将随机延迟从2分钟更改为30秒。最好指定30秒到1分钟的随机延迟时间,以帮助避免启动时出现争用情况。这也将有助于确保更大的作业成功机会。是否可能存在权限问题?Windows Vista和更高版本在将内容保存到根C上时有点挑剔,需要提升访问权限,而您告诉它运行提升版,但您没有提供要使用的凭据,因此可能它在这方面失败了。您可以通过写入一个更公开的文件来进行测试。