場合によっては、特にシステム管理者はサーバーまたはシステムを再起動する必要があります。通常は、次のことができますWindows をリモートでシャットダウンまたは再起動するグラフィカル ユーザー インターフェイスを介して –パワーシェルには、コンピュータをリモートで再起動するためのいくつかの方法が用意されており、この投稿では 6 つの既知の方法の概要を説明します。
PowerShell を使用して Windows 11/10 をリモートで再起動する方法
これらの方法の前提条件は、リモート システムに接続し、必要に応じて認証できることを確認することです。また、リモート システムが再起動を保留していないことを確認する必要もあります。
次のものが必要です。
- ローカル管理者グループのリモート コンピューター上のユーザー アカウント。
- Windows PowerShell または PowerShell コア。
1] Restart-Computer を使用してリモート コンピュータを再起動します
このコマンドレットは、柔軟なパラメーターを使用して簡単に使用できます。コマンドが機能するための追加の前提条件は、WinRM が構成されていることを確認することです。リモート コンピュータの Windows ファイアウォール経由で許可されるまた、WMI は Windows ファイアウォール経由で許可されます。
Restart-Computer -ComputerName $ComputerName -Force
複数のコンピューターを並行して再起動するには、次のコマンドを実行します。
$ComputerArray | ForEach-Object -Parallel { Restart-Computer -ComputerName $_ -Force } -ThrottleLimit 3
2] Invoke-CimMethod を使用してリモート コンピューターを再起動します。
のInvoke-CimMethod
WIM 方式を使用してリモート システムを再起動することで機能しますが、Web ほど柔軟ではありません。Restart-Computer
コマンドレット。
コマンドが機能するための追加の前提条件は、WinRM が構成され、リモート コンピューターの Windows ファイアウォールの通過を許可されていることを確認することです。
Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
3] shutdown.exe を使用してリモート コンピュータを再起動します。
のshutdown.exe
は、システムを再起動するために Windows が提供する標準の組み込み実行可能ファイルであり、PowerShell コマンドではありませんが、堅牢な一連のオプションを提供します。
コマンドが機能するための追加の前提条件は、リモート コンピューターでリモート レジストリ サービスが有効になっていて、Windows ファイアウォールを通過する WMI が許可されていることを確認することです。
shutdown.exe /m \\remotecomputer /r /t 0
4] PSExec.exeを使用してリモートコンピュータを再起動します。
内で最もよく使用されるユーティリティの 1 つSysinternals ツールキット、psexec.exe
は、リモート システムとの対話を容易にするいくつかの独自の機能を提供します。
コマンドが機能するための追加の前提条件は、SMB サービスが実行されていることを確認することです。ファイルとプリンターの共有が有効になっています、単純なファイル共有は無効になっており、admin$ 管理共有が使用可能です。
psexec.exe -d -h \\remotecomputer "shutdown.exe /r /t 0 /f"
5] RunDLL32.exe を使用してリモート コンピューターを再起動します。
のrundll32.exe
は、内部実行可能ファイルや Windows API (shell32.dll など) に対して特定のメソッドを実行する方法を提供します。この機能を使用してシステムを再起動できる方法は 2 つありますが、この方法を単独でリモートで実際に使用することはできません。これを PowerShell と組み合わせることができます。Invoke-Command
リモート システム上で。
方法 1:
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }
方法 2:
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }
6] Taskkill.exeを使用してリモートコンピュータを再起動します。
最後になりましたが、taskkill.exe
これは、回りくどい方法ではありますが、Windows を再起動するための機能を提供するもう 1 つの Windows ユーティリティです。を終了することで、lsass.exe
このプロセスでは、Windows を強制的に再起動します。
taskkill.exe /S \\remotecomputer /IM lsass.exe /F
PowerShell を使用してリモート コンピューターを再起動する 6 つの方法は以上です。