【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[Management]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

コマンドラインから電源オフや休止を実行する

解説をスキップして操作方法を読む

デジタルアドバンテージ 中塚 寛幸
2006/01/14
 
対象OS
Windows XP
Windows Server 2003
バッチ処理やリモート・アクセスしている状況で、コンピュータを再起動/終了したいことがある。
GUIが利用できない状況で、コンピュータを休止状態にしたいことがある。
コマンド・プロンプトからshutdownコマンドなどで電源関連のタスクを制御できる。
 
解説

 Windowsの電源モードには、電源オン/電源オフ/スタンバイ/休止状態という4つのパワー・ステートが定義されている。これに再起動を加えたものが、Windowsユーザーが意識して行う電源操作のすべてである。省電力状態としてまとめられるスタンバイと休止状態の違いについて、簡単に解説しておこう。スタンバイとは、メモリ内容を保持したまま必要最低限の消費電力で動作するモードである。休止状態は、メモリ状態やデバイスのステータスといったコンピュータの状態をハードディスク上のファイル(hiberfil.sys)にそのまま保存し、電源オフにするモードである。復帰時には、hiberfil.sysから休止状態に入る直前の状態を復元する。

 ユーザーはコントロール・パネルの「電源オプションのプロパティ」を使って電源オプションを設定し、[スタート]−[シャットダウン]で選択できる電源状態としてパワー・ステートをソフトウェア的に操作できる。

 しかし、バッチ処理やtelnetでのリモート・アクセス時のような、キャラクタ・ベースのインターフェイスでは、[スタート]−[シャットダウン]の操作を行うことは困難である(WSHによるユーザー操作のエミュレーションは可能だが、高いスキルが必要となる)。そこで、電源オフ/再起動を制御できるshutdownコマンドと、スタンバイ/休止状態を制御できるpowrprof.dllの利用法を解説する。バッチ処理後にスタンバイに移行したり、リモートで加えたシステム構成の変更を反映させるために再起動したりする用途などに活用できるだろう。


操作方法

 Windows OSのパワー・ステートを制御するには、外部コマンドであるshutdown.exeと、powrprof.dllを利用する。電源オフと再起動はshutdown.exeを、休止状態/スタンバイへの移行はpowrprof.dllをrundll32.exeから実行することにより行う。

電源オフと再起動を行う

Windows TIPS:リモートから「リモート デスクトップ」を許可する

 電源オフと再起動には、Windows OSにデフォルトでインストールされているshutdown.exeコマンドを使用する。例えば即座に電源オフにしたい場合、コマンド・プロンプトで次のように実行すればよい。

C:\>shutdown -s -t 0

 「-s」がシャットダウン(電源オフ)、「-t 0」がゼロ秒のタイムアウトでの実行を指示するオプションである。タイムアウトを指定しないで実行すると、次のダイアログが表示され、カウントダウンされる。タイムアウトを指定しない場合、デフォルトでは30秒でシャットダウンが始まる。

shutdownコマンドの警告ダイアログ
shutdownコマンドを実行すると、タイムアウトまでの時間、shutdownを実行したユーザー名、実行時に指定されたメッセージが表示される。

 また、同様に即座に再起動を行う場合には次のように実行する。

C:\>shutdown -r -t 0

 shutdownコマンドには、リモートのコンピュータの電源を管理するものなど、以下の表のようなオプションがある。

オプション 機能
-i GUIインターフェイスを表示する。GUIインターフェイスでのデフォルト・タイムアウトは20秒である
-l ログオフする
-s シャットダウン(電源オフ)する
-r 再起動する
-a shutdown実行の中止(Abort)
-m \\コンピュータ名 リモート・コンピュータにログオフ/電源オフ/再起動を指示する。ログオフ(-l)オプションとは併用できない
-t xx 処理開始までのタイムアウトをxx秒で指定する。デフォルトは30秒
-c "コメント" イベントログに書き込まれるコメントを記入する
-f 実行中のプロセスを警告なしで閉じる
-d uあるいはp:xx:yy イベントログに書き込む電源オフ/再起動の理由コードを指示する。ユーザー・コードなら「u」、計画されたコードなら「p」をサブオプションに指示し、重大な理由コードをxxに、重大でない理由コードをyyに記入する

休止状態とスタンバイを行う

 休止状態とスタンバイは、shutdownコマンドではなく、rundll32.exeからオプション付きでpowrprof.dllを呼び出すことにより、実行できる。ただし今回紹介するコマンドでは休止状態にするかスタンバイにするかは指定できない。休止状態が有効になっていれば休止状態になり、無効ならスタンバイになる。休止状態を有効にするかどうかは、[コントロール パネル]−[電源オプション]の[休止状態]タブで設定できる。

休止状態の有効/無効を切り替える
今回紹介するコマンドでは、休止状態が有効になっていれば休止状態に、無効ならスタンバイになる。休止状態は[コントロール パネル]−[電源オプション]の[休止状態]タブで有効/無効にできる。
  ここをクリックする。
  このチェックボックスをオンにすると、休止状態が有効になる。

 設定が完了したら、休止状態/スタンバイへ入るには次のコマンドを実行する。

C:\>%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState

 休止状態となったコンピュータは、電源ボタンを押して起動させることにより、休止状態に入る直前の状態に復帰する。ちなみに、ACPI機能を備えたマザーボードでWake On LAN機能を有効にしてあれば、休止状態に入ったPCでも、ネットワーク経由で起動することが可能である(ただしBIOSとデバイス・マネージャでのWake On LAN設定とパケット送出のためのツールなどを準備する必要がある)。End of Article

関連記事(Windows Server Insider)
  Windows TIPS:システムをリモートからシャットダウンする
  Windows TIPS:リモートから「リモート デスクトップ」を許可する
     
この記事と関連性の高い別のWindows TIPS
Windows Vistaの[休止状態]オプションを有効にする
電源ボタンでシステムを休止状態にする
シャットダウン画面で[休止状態]ボタンを表示する
powercfg.exeコマンドで電源オプションの設定を変更する
スタンバイからの復帰でパスワード入力を要求されないようにする
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?