启动作业/任务在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上时有点挑剔,需要提升访问权限,而您告诉它运行提升版,但您没有提供要使用的凭据,因此可能它在这方面失败了。您可以通过写入一个更公开的文件来进行测试。