PowerShellを使用してWindows10コンピューターをリモートで再起動する方法

時々、特に、システム管理者はサーバーまたはシステムを再起動する必要があります。通常、グラフィカルユーザーインターフェイスを介してWindows 10をリモートシャットダウンまたは再起動できます(Remote Shut down or Restart Windows 10)。PowerShellには、コンピューターをリモートで再起動するためのいくつかの方法があります。この投稿では、6つの既知の方法の概要を説明します。

PowerShellを使用してリモートコンピューターを再起動する方法

PowerShellを使用してWindows10をリモートで再起動(Remotely Restart)する方法

これらの方法の前提条件は、リモートシステムに接続し、必要に応じて認証できることを確認することです。また、リモートシステムが再起動を保留していないことを確認する必要があります。

次のものが必要です。

1] Restart -Computer(Restart-Computer)を使用してリモートコンピューターを再起動します

このコマンドレットは、柔軟なパラメーターで簡単に使用できます。コマンドが機能するための追加の前提条件は、WinRMが構成され、リモートコンピューターのWindowsファイアウォール(allowed through the remote computer’s Windows firewall)を通過できること、およびWMIWindowsファイアウォールを通過できることを確認することです。

Restart-Computer -ComputerName $ComputerName -Force

複数のコンピューターを並行して再起動するには、次のコマンドを実行します。

$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3

2] Invoke-CimMethodを使用してリモートコンピューターを再起動します(Restart)

WIMInvoke-CimMethodメソッドを使用してリモートシステムを再起動することで機能しますが、コマンドレットほど柔軟ではありません。Restart-Computer

コマンドが機能するための追加の前提条件は、WinRMが構成され、リモートコンピューターのWindowsファイアウォールを通過できることを確認することです。

Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'

3] shutdown.exeを使用してリモートコンピューターを再起動します(Restart)

これshutdown.exeは、Windowsがシステムを再起動するために提供する標準の組み込み実行可能ファイルであり、PowerShellコマンドではありませんが、堅牢な一連のオプションを提供します。

コマンドが機能するための追加の前提条件は、リモートコンピューターでリモートレジストリ(Remote Registry)サービスが有効になっていて、 WMIが(WMI)Windowsファイアウォールを通過できることを確認することです。

shutdown.exe /m \\remotecomputer /r /t 0

4] PSExec.exeでリモートコンピュータを再起動します(Restart)

Sysinternalsツールキット内で最も使用されているユーティリティの1つはpsexec.exe 、リモートシステムとの対話を容易にするいくつかの独自の機能を提供します。 

コマンドが機能するための追加の前提条件は、SMBサービス(SMB Service)が実行されていること、ファイルとプリンターの共有が有効(file and printer sharing is enabled)になっていること、単純なファイル共有が無効になっていること、およびadmin$管理共有が使用可能であることを確認することです。

psexec.exe -d -h \\remotecomputer "shutdown.exe /r /t 0 /f"

5] RunDLL32.exeを使用してリモートコンピューターを再起動します(Restart)

は 、 shell32.dllなどrundll32.exe の内部実行可能ファイルおよびWindowsAPIに対して特定のメソッドを実行する方法を提供します(Windows APIs)この機能を使用してシステムを再起動できる方法は2つありますが、この方法を単独でリモートで使用することはできません 。リモートシステムでを介してこれをPowerShellと組み合わせることができます。(PowerShell)Invoke-Command

方法1(Method 1)

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

方法2(Method 2)

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

6] Taskkill.exeを使用してリモートコンピューターを再起動します(Restart)

最後になりましたが、taskkill.exe もう1つのWindowsユーティリティは、回りくどい方法ではありますが、Windowsを再起動するためのいくつかの機能を提供します。(Windows)プロセスを終了する と、 Windowslsass.exe を強制的に再起動します。

taskkill.exe /S \\remotecomputer /IM lsass.exe /F

PowerShellを使用してリモートコンピューターを再起動する6つの方法は以上です。



About the author

私は、Windows アプリとファイルを専門とする、10 年以上の経験を持つコンピューター セキュリティの専門家です。私は、コンピュータ セキュリティに関連するさまざまなトピックについて何百もの記事を書いたり、レビューしたりして、個人がオンラインで安全に過ごせるように支援してきました。また、データ侵害やサイバー攻撃からシステムを保護するために支援が必要な企業向けの経験豊富なコンサルタントでもあります。



Related posts