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
それは完璧に動作します。
stop-computerは、プロセスとして実行するときに機能するために-forceフラグが必要です。 stop-computer -force
に切り替えると、問題が修正されました。