kaz*_*mjt 5 powershell windows-server-2012-r2
我正在尝试创建一个在 Windows Server 2012 R2 Core 上启动时运行的作业。该作业运行连接到网络共享的脚本,然后安装位于该共享上的 VHD。
脚本本身可以工作,当使用-RunNow
参数注册时,作业会被触发并按预期运行。使用Start-Job
Cmdlet运行作业也可以正常工作。
但是,作业不会像触发器中指定的那样在启动时触发。
我为创建工作所做的工作:
$Trigger = New-JobTrigger -AtStartup
$JobOptions = New-ScheduledJobOption -RunElevated -RequireNetwork
Register-ScheduledJob -FilePath C:\Scripts\Test.ps1 -Name Test -Trigger $Trigger -ScheduledJobOption $JobOptions -RunNow
Run Code Online (Sandbox Code Playgroud)
这样做后,我可以清楚地看到它的工作结果。但是当重新启动服务器时,结果不存在,但作业说它是在重新启动后不久运行的。
使用 New-JobTrigger cmdlet 创建启动触发器时,最好指定 30 秒或更长的随机延迟时间,以避免启动时发生冲突。这也将有助于确保工作取得更大的成功机会。
$trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30
Run Code Online (Sandbox Code Playgroud)
您还希望在重新启动并使用 cmdlet 重新登录后检查作业的状态Get-Job
。
归档时间: |
|
查看次数: |
1701 次 |
最近记录: |