Programming Field

Shutdown - DOS/Windows コマンド一覧

スポンサーリンク

[Windows XP 以降] システムのシャットダウン(再起動や電源OFF)を行います。

構文

shutdown[.exe] [/i | /l | /s | /sg | /r [/o] | /g | /a | /p | /h | /e]
    [/f] [/m \\<computer>] [/t xx]
    [/c "comment"] [/d [[u|p]:]xx:yy]
    [/hybrid] [/soft] [/fw]

(※ 大文字・小文字は区別されません。)

※ /i /l /s /sg /r /g /a /p /h /e /o はいずれか1つのみ指定できます。

[Windows XP] ヘルプではオプションは「-」始まりで表示されますが、「/」始まりで指定できます。

/i
シャットダウンの種類や理由を選択してリモートコンピューターをシャットダウンさせるためのダイアログ(GUI)を表示します。
このオプションは最初に指定する必要があります。また、このオプションを指定した場合は、他のオプションは無視されます。
/l (/L)
ログアウト(ログオフ)をします。このオプションを指定した場合 /m や /c, /d, /t を指定することはできません。
/s
コンピューターをシャットダウンします。
/sg
[Windows 10 以降] コンピューターをシャットダウンします。ユーザーの自動再起動サインオン(ARSO)が有効になっている場合、次回起動時にシャットダウン前のユーザーで自動的にサインインしたうえでロックした状態にします。また、登録済みアプリケーションを自動的に起動します(解説参照)。
/r
コンピューターを再起動します。
/o
[Windows 10 以降] /r オプションと共に使用することで、詳細ブートオプション画面に移動します。
/g
[Windows Vista 以降] コンピューターを再起動します。再起動後、登録済みアプリケーションを自動的に起動します(解説参照)。
[Windows 10 以降] ユーザーの自動再起動サインオン(ARSO)が有効になっている場合、再起動後に再起動前のユーザーで自動的にサインインしたうえでロックした状態にします。
/a
タイムアウト待ちのシャットダウン処理を中止します。Shutdown を /t オプションで 0 より大きい数を指定して実行した場合にシャットダウン(再起動)のタイムアウト待ちになりますが、それを止めたい場合に使います。
/p
[Windows Vista 以降] タイムアウトせずにローカルコンピューターのシャットダウン(電源OFF)を行います。このオプションを指定した場合 /m や /c, /t を指定することはできませんが、/d や /f と併用することはできます。
/h
[Windows Vista 以降] ローカルコンピューターを休止状態にします。このオプションを指定した場合 /m や /c, /d, /t を指定することはできません。
/e
[Windows Vista 以降] イベントログに「予期しないシャットダウンが行われた」旨の記録を登録します。/d オプション及び /c オプションとともに用います。
なお、このオプションの実行には管理者権限が必要です。
/f
実行中のアプリケーションがキャンセルしたかどうかにかかわらず強制的にシャットダウン(再起動)を行います。
なお、/t オプションで 0 より大きい数を指定してシャットダウンした場合は、/f が暗黙的に使用されます。
/m \\<computer>
リモートコンピューターのシャットダウン(再起動)を行います。<computer> にはコンピューター名を指定します。(「\\」は省略可能です。)
なお、リモートコンピューターのシャットダウンには専用の権限が必要です(管理者権限が使用できます)。また、リモートコンピューターでシャットダウンできるユーザーで接続できている必要があります(「net use」コマンドで事前に接続しておくことができます)。
/t xx
シャットダウンまでのタイムアウト時間を指定します。xx には秒数を 0 から 315360000 (10 年) までの範囲の数で指定します。
このオプションを指定しなかった場合はタイムアウト時間は30秒になります。また、タイムアウト時間が 0 以外の場合は /f オプションが暗黙的に使用されます。
/c "comment"
シャットダウンのイベントログにコメント(シャットダウンの理由)を追加します。タイムアウト時間がある場合は、シャットダウンする旨のメッセージ表示でも使用されます。comment にコメントを指定しますが、「" "」はあってもなくても構いません。
/d [[u|p]:]xx:yy
イベントログに記録するシャットダウンの理由コードを指定します。指定する値は以下の通りです。
u:
コロンとその前に「u」文字を指定することでユーザー定義の理由コードであることを示します。
p:
コロンとその前に「p」文字を指定することで、このシャットダウンが計画されたシャットダウンであることを示します。「p」を指定しなかった場合は計画外の(予期しない)シャットダウンであることを示し、ポリシーによっては次回起動時に「予期しないシャットダウンが起きた」旨のエラーレポート表示が行われる場合があります。
xx
理由コードのメジャーコード(主因)を 0 から 255 の範囲で指定します。この値は理由コードを生成する際に 65536 倍して使われます。
yy
理由コードのマイナーコード(副因)を 0 から 65535 の範囲で指定します。
理由コードの詳細は「System Shutdown Reason Codes」(英語)をご覧ください。(掲載されているコードのうちメジャーコードは 65536 (0x10000) で割った値を指定します。)
/hybrid
[Windows 10 以降] /s と共に使用することで、高速スタートアップを有効にしてコンピューターをシャットダウンします。
※ このオプションを使わない既定の処理では高速スタートアップが無効になります。スタートメニューからシャットダウンした場合は既定で有効になる点とは異なります。
/soft
[Windows 10 以降] (詳細不明; InitiateShutdownW の SHUTDOWN_SOFT_REBOOT オプションに対応します)
このオプションは /r または /g オプションと共に使用する必要があります。
/fw
[Windows 10 以降] シャットダウンオプション(/s, /sg, /r, /g, /p)と共に使用することで、次回ブート時にファームウェアのユーザーインターフェイス(BIOSメニューなど)を表示させます。
なお、このオプションの実行には管理者権限が必要です。

解説

Shutdown を使うことでコマンドラインからコンピューターのシャットダウン・再起動を行うことが可能です。シャットダウンの種類によって以下のオプションを使うことになります。

種類オプション
ログオフ/l
シャットダウン(電源を切る)/s, /sg, または /p
再起動/r または /g
休止状態/h

/t オプションを使って1秒以上のタイムアウト時間を指定した場合、シャットダウン対象のコンピューターにシャットダウンする旨のメッセージが表示され、タイムアウト時間経過でシャットダウンが行われます。この場合、Shutdown プログラム自体はタイムアウト時間が経過する前に処理が終了するため、Shutdown を実行して戻ってきたからといってその時点でコンピューターがシャットダウンされたとは限りません。(「shutdown /a」でシャットダウンが中止されている可能性もあります。)

登録済みアプリケーションの再起動

/g オプションや /sg オプションでは、次回起動時に「登録済みアプリケーションを再起動する」動作が行われます。「登録済みアプリケーション」は、基本的に実行中のアプリケーションが、再起動後にセッションを復元するなどの目的で特定の処理を行うことで登録されます。すべてのアプリケーションが再起動されるわけではなく、この機能に対応済みのアプリケーションのみが再起動されることにご注意ください。

※ アプリケーションが「登録済みアプリケーション」として登録を行うには、エラー時にアプリケーションを再起動できるようにする際に用いる RegisterApplicationRestart 関数 (英語) を使います。

[Windows 10 以降] /s および /sg を使った場合、ログインユーザーの「ユーザーの自動再起動サインオン(Automatic Restart Sign On; ARSO)」機能が有効になっているとき、次回起動時に自動的にそのユーザーでログインが行われます(ログインして「ロック」するため、画面表示上はまだログインしていない場合と同様にログイン画面が表示されます)。ARSO は以下の設定で制御されます。

  • Windows 10 1903 以前: 設定 → アカウント → サインイン オプション → プライバシー → 「更新または再起動の後にサインイン情報を使ってデバイスのセットアップを自動的に完了します」
  • Windows 10 1903 以降: 設定 → アカウント → サインイン オプション → プライバシー → 「サインイン情報を利用してデバイスのセットアップを自動的に完了し、更新または再起動後にアプリを再び開くことができるようにします」
  • Windows 11 : 設定 → アカウント → サインイン オプション → 追加の設定 → 「更新後に自動的にセットアップを完了するには、サインイン情報を使用します」

サンプル1

shutdown /s /t 0

ローカルコンピューターをすぐにシャットダウンします。ただし作業中のデータがあるなどで確認のダイアログが求められた場合、そこからシャットダウンをキャンセルすることができます。

サンプル2

shutdown /g /t 60 /d p:4:1

[Windows Vista 以降] コンピューターを再起動し、次回起動時に(対応がなされている)アプリケーションを再起動します。また、再起動の理由を「計画されたアプリケーションメンテナンスによるもの」と記録します。