あいしんくいっと

ありきたりだけど、少しだけ役に立つことをありのままに書こうと思う。

Windowsをリモートシャットダウンする方法

time 2017/04/09

ども。あいしんくいっと(@ithinkitnet)です。

複数台のサーバを管理している場合、リモートで定期的にWindowsServer等を停止、再起動させたいことがあります。

というワケで今回は「Windowsをリモートで停止、再起動させる方法」について書いておきたいと思います。

sponsored link

Windowsをリモートで停止、再起動させる方法

停止、再起動についてはWindows標準のshutdownコマンドを使用します。

shutdownコマンド

Windowsをリモートで停止、再起動させるには以下のようなコマンドを利用します。
・停止

shutdown /m \\<IPアドレス or ホスト名> /s /f /c “OS停止” -t 0

・再起動

shutdown /m \\<IPアドレス or ホスト名> /r /f /c “OS停止” -t 0

shutdownコマンドオプションは以下の通りです。

C:\Users\Administrator>shutdown /?
使用法: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/f]
    [/m \\コンピューター][/t xxx][/d [p|u:]xx:yy [/c "コメント"]]

    引数なし   ヘルプを表示します。「/?」と入力するのと同じです。
    /?         ヘルプを表示します。オプションを入力しないのと同じです。
    /i         グラフィック ユーザー インターフェイス (GUI) を表示します。
               このオプションは最初に指定する必要があります。
    /l         ログオフします。/m または /d オプションとは併用できません。
    /s         コンピューターをシャットダウンします。
    /r         コンピューターを完全にシャットダウンして再起動します。
    /g         コンピューターを完全にシャットダウンして再起動します。システムの
               再起動後に、登録したアプリケーションを再起動してください。
    /a         システムのシャットダウンを中止します。
               これは、タイムアウト期間にのみ使用できます。
    /p         タイムアウトまたは警告なしでローカル コンピューターの電源を
               切ります。
               /d および /f オプションと併用できます。
    /h         ローカル コンピューターを休止状態にします。
               /f オプションと併用できます。
    /hybrid    コンピューターのシャットダウンを実行し、高速スタートアップの準備をします。
               /s オプションと併用してください。
    /e         コンピューターの予期しないシャットダウンの理由を記録します。
    /o       詳細ブート オプション メニューに移動し、コンピューターを再起動します。
               /r オプションと共に使用する必要があります。
    /m \\コンピューター 対象となるコンピューターを指定します。
    /t xxx     シャットダウンまでのタイムアウト期間を xxx 秒に設定します。
               有効範囲は 0 から 315360000 (10 年) までで、既定値は 30 です。
               タイムアウト期間が 0 より大きい場合、/f パラメーターが
               暗黙的に指定されます。
    /c "コメント" 再起動またはシャットダウンの理由にコメントを付けます。
               最大 512 文字まで入力できます。
    /f         ユーザーに警告せずに実行中のアプリケーションを強制終了します。
               /t パラメーターに 0 より大きい値が指定された場合、
               /f パラメーターも暗黙的に指定されます。
    /d [p|u:]xx:yy  再起動またはシャットダウンの理由を指定します。
               p は再起動またはシャットダウンが計画されていることを示します。
               u は理由がユーザーにより定義されることを示します。
               p と u のどちらも指定されていない場合は、再起動または
               シャットダウンは計画されていません。
               xx は主因の番号です (256 未満の正の整数)。
               yy は副因の番号です (65536 未満の正の整数)。

shutdownコマンドが弾かれた場合の対処

リモートサーバに対してshutdownコマンドを打つと、たまに以下のようなアクセスエラーが発生する場合があります。

アクセスが拒否されました(5)

その場合、shutdownコマンド実行前にnet useコマンドで仮接続してやるとコマンドが通るようになります。

net use \\<ホスト> /user:<ユーザ名> <パスワード>

とはいえ、“net useすること自体が目的では無い”のでshutdownコマンド打つ前に削除しておきましょう。

net use \\<ホスト>/delete

※ net useコマンド打つ際にはパスワード記載が必要になるので注意して下さい

バッチ作成

停止、再起動の度に毎回コマンド打つのも面倒なので、以下のような簡単なバッチを作成しておくと便利です。
汎用的に使い回せるよう、引数でサーバを指定出来るようにしておくと良いと思います。

@echo off
set SERVER=%1
set USRE=<アカウント名>
set PASS=<パスワード>

net use \\%SERVER% /user:%USER% %PASS%
net use \\%SERVER % /delete"
shutdown /m %SERVER % /s /f /c "OS停止" -t 0
exit 0

実行する際はサーバを引数として実行します。

これでリモートサーバがシャットダウンされるはずです。
ファイアウォールを超える場合はTCP:445ポートを解放してください。

どうですか。
Windowsサーバの管理者でもない限り、サーバをリモートで停止、再起動なんてしないでしょうけど、コマンドくらいは覚えておいて損はないかと思います。

以上、あいしんくいっとでしたε-(´∀`; )

sponsored link

down

コメントする




*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Author

あいしんくいっと

あいしんくいっと

あいしんくいっとの中の人。

ありきたりだけど、自分なりの視点で少しでも人の役に立つ記事をありのままに書くをモットーに。 たまには役立つことが書けると良いかな。

サイトポリシーはこちら

聞きたいことがあれば、気軽にツイートください♪可能な範囲でお答えします。
follow us in feedly

Twitter

オススメ記事

アーカイブ