У меня есть задача, работающая на установке сервера как таковой 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
Это работает отлично.
стоп-компьютеру нужен флаг -force для работы, я полагаю, при запуске в качестве процесса. Переключение на стоп-компьютер -force
исправило проблему.