Script Powershell agendado de tarefas que não desliga a máquina

Script Powershell agendado de tarefas que não desliga a máquina

Eu tenho uma tarefa em execução em uma configuração de servidor Hyper-V como esta:

schtasks /CREATE /TN AutoShutdown /RU "SYSTEM" /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONSTART

Ele funciona corretamente (até onde eu sei), porém o script tem uma linha para desligar o computador e isso nunca acontece.

start-sleep 120
while (1) {$vm = get-vm; if ($vm.state -ne "Running") {stop-computer} else {"Running..."; start-sleep 10}}

Se eu executar a tarefa no espaço do usuário:

schtasks /CREATE /TN AutoShutdown /TR "Powershell \"C:\AutoShutdown.ps1\"" /SC ONLOGIN

Funciona perfeitamente.

Responder1

stop-computer precisa do sinalizador -force para funcionar, eu acho, quando executado como um processo. Mudar para stop-computer -forceresolveu o problema.

informação relacionada