メニュー 閉じる

Windows 系OS で、リモートシャットダウンを設定する。

■ リモートで電源をオンにしたいのと同じくらい、リモートで電源をオフにしたい。

「リモートデスクトップ接続」や、「WOL」を設定しているのに、「リモートシャットダウン」は設定していなかったことに気が付いた。

画面がブラックアウトしてキーボードや、マウス操作を受け付けてくれない時や、
ハングアップした時の奥の手として設定しておくべき。

Windows 系OS でリモートシャットダウンする。

shutdown コマンドについて

コンピューターをシャットダウンするコマンドです。

例えば「shutdown /s」を実行すると即時コンピューターがシャットダウンします。

使用法:
C:\Windows\system32\shutdown.exe  [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\コンピューター][/t xxx][/d [p|u:]xx:yy [/c "コメント"]]

例:コンピューター名(IPアドレスでも可)を指定して再起動を 120秒後に実行する。
  shutdown /r( /s ) /m \\コンピューター名( or IPアドレス ) /t 120

例:やっぱりやめる。
  shutdown /a /m \\コンピューター名

引数の説明。※詳しくはヘルプ見てください。

    /?         ヘルプを表示します。オプションを入力しないのと同じです。
    /s         コンピューターをシャットダウンします。
    /r         コンピューターを完全にシャットダウンして再起動します。
    /a         システムのシャットダウンを中止します。
               これは、タイムアウト期間にのみ使用できます。
    /m \\コンピューター 対象となるコンピューターを指定します。
    /t xxx     シャットダウンまでのタイムアウト期間を xxx 秒に設定します。
               有効範囲は 0 から 315360000 (10 年) までで、既定値は 30 です。
               タイムアウト期間が 0 より大きい場合、/f パラメーターが
               暗黙的に指定されます。

「/m \\ コンピューター名」を引数に指定すると、ネットワーク上のコンピューターのシャットダウンも可能です。

つまり、「リモートシャットダウン」ができます。

事前に仕込みをしないと「リモートシャットダウン」はできない。

shutdown コマンドを使うとリモート環境をシャットダウンすることが出来るわけですが、
デフォルトの状態ではシャットダウンできませんでした。

リモートシャットダウンに必要な3つの条件。

リモートシャットダウンをするには以下の「3つの条件」が必要です。

■ ポート445 の開放(ファイアウォール)

■ シャットダウンするコンピューター上で管理者権限を持っている

■ レジストリ「LocalAccountTokenFilterPolicy 」を設定をする

ポート445 の開放(ファイアウォール)

基本的にファイアウォールは外部からの通信を遮断するので、445 ポートを使用した通信を許可する設定を行います。

面倒な方はファイアウォールを解除。
※めちゃめちゃオススメしません。

シャットダウンするコンピューター上で管理者権限を持っている

シャットダウンを行うユーザーは、
同時にシャットダウンするコンピューター上でも管理者ユーザーでないと、アクセスが拒否されます。

つまり、unimoni でシャットダウンコマンドを実行するのであれば、
ターゲットのコンピューター上にも「unimoni」という管理者ユーザーが存在しないといけません。

シャットダウンを許可されたユーザーならOK というわけではなく、「管理者」である必要があります。

shutdown を実行するためのユーザーを作成。

管理者にする。

レジストリ「LocalAccountTokenFilterPolicy」の設定をする。

レジストリエディタを開き、以下のキーに「LocalAccountTokenFilterPolicy」を追加します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

追加する。

名前LocalAccountTokenFilterPolicy
種類 REG_DWORD
データ 1

参考

リモートのWindows PCのシャットダウン方法(shutdown.exe実行時の「アクセスが拒否されました。(5)」を解決する)

ログイン中のユーザー以外のユーザー権限でシャットダウンしたい。

コマンドを実行するユーザー名とターゲット上の管理者ユーザー名が一致しない場合に、
ターゲット上の管理者ユーザー名とパスワードを使用して、シャットダウンを実行します。

powershell のコマンドを使う

「shutdown」ではユーザーが指定できないので、powershell のコマンド「Restart-Computer」を使います。

Microsoft Docs Restart-Computer

Restart-Computer -Force -ComputerName "コンピューター名" -Credential (Get-Credential)

実行後にシャットダウンを実行する「ユーザー名とパスワード」を入力する。

条件は「shutdown」の3つの条件と同じですが、開放するポートが違います。

  • ポートの開放(ファイアウォール)
  • シャットダウンするコンピューター上で管理者権限を持っている
  • レジストリ「LocalAccountTokenFilterPolicy 」を設定をする

https://docs.microsoft.com/ja-jp/archive/blogs/jpntsblog/rpc

これらはRPC という機能になるらしいです。

つまり、ポート 135 と49152 ~65535 を開放します。

結構な開放になるので、ある程度制限を設けておかないとセキュリティ面で心配ではありますね。

参考

Windows PCをリモートシャットダウンする方法やエラー時の対処方法

以上です。

(Visited 3 times, 1 visits today)
Posted in リモート接続

関連投稿

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です