我在 Hyper-V 服务器设置上运行一项任务,如下所示:
schtasks /CREATE /TN AutoShutdown /RU "SYSTEM" /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONSTART
它运行正常(据我所知)然而脚本中有一行命令可以关闭计算机但它从来没有关闭过。
start-sleep 120
while (1) {$vm = get-vm; if ($vm.state -ne "Running") {stop-computer} else {"Running..."; start-sleep 10}}
如果我在用户空间运行该任务:
schtasks /CREATE /TN AutoShutdown /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONLOGIN
它运行完美。
答案1
我猜想,stop-computer在作为进程运行时需要-force标志才能工作。切换到stop-computer -force
解决了该问题。