コマンドでPCをスリープや休止状態にする方法を紹介します。リモートデスクトップで接続中はスタートメニューで「ログオフ」、「切断」、「ロック」しか選択できないため、ここで紹介する方法が役に立つことがあります。
逆にリモートのマシンを起動したい場合には、以下の記事をご覧ください。
Wake On Lan についてのまとめ (リモートのマシンを起動)
※リモートデスクトップで接続中に Ctrl + Alt + End を押すと、接続先で Ctrl + Alt + Del を押した場合と同様に、シャットダウンや再起動、スリープを選択・実行できます。デスクトップで Alt + F4 でも良いです。
※P8Z68 等のマザーボードでは、BIOSの設定で internal PLL overvoltage を Disable にしないとスリープから復帰できないようです。私の環境ではスリープからの復帰時に画面が映りませんでした。(P8Z68-V PRO)
シャットダウン
shutdown コマンドで可能です。
30秒後にシャットダウンします。
スリープ・休止 (お勧めしない方法)
以下のコマンドでスリープまたは休止状態へ移行できます。
- 休止状態機能が有効だと休止状態になります。
- 休止状態機能が無効だとハイブリッドスリープではなく、従来のスタンバイの様な状態になります。
※お勧めしない理由
- この方法でスリープへ移行した場合、ハイブリッドスリープにはなりません。 したがって、電源が切れるとメモリ上のデータが失われます。
- この方法でスリープ(スタンバイ)へ移行した場合、タスクスケジューラからの自動復帰ができないことがあるようです。
手元の Windows7 では問題なく自動復帰できることを確認しました。
■休止状態機能の有効・無効を切り替える方法
コマンドプロンプトを管理者として実行し、次のコマンドを入力する。
有効にする場合
> powercfg /hibernate on無効にする場合
> powercfg /hibernate off現在の設定を確認する場合
> powercfg /a
スリープ・休止 (お勧めの方法)
PowrProf.dll の SetSuspendState 関数を適切なパラメータを指定して呼び出します。
この方法だとタスクスケジューラからの自動復帰も問題ありませんし、ハイブリッドスリープと休止を自由に使い分けることができます。
以下の Ruby スクリプトにより可能です。
ダウンロードしてご利用ください。拡張子が exe の方であれば、Ruby をインストールしていなくても実行できます。(Exerbで変換したものです。)
- スリープモードへ移行する場合
require "fiddle/import"
require 'fiddle/types'
module Powrprof
extend Fiddle::Importer
dlload 'powrprof.dll'
include Fiddle::Win32Types
extern "BOOL SetSuspendState(BOOL, BOOL, BOOL)"
end
Powrprof.SetSuspendState(0, 0, 0)require 'Win32API'
Win32API.new('powrprof.dll', 'SetSuspendState', %w(i i i), 'i').call(0, 0, 0)ダウンロード
- suspend.rbw (Ruby 2.0)
- suspend.rbw
- suspend.exe
- 休止状態へ移行する場合
require "fiddle/import"
require 'fiddle/types'
module Powrprof
extend Fiddle::Importer
dlload 'powrprof.dll'
include Fiddle::Win32Types
extern "BOOL SetSuspendState(BOOL, BOOL, BOOL)"
end
Powrprof.SetSuspendState(1, 0, 0)require 'Win32API'
Win32API.new('powrprof.dll', 'SetSuspendState', %w(i i i), 'i').call(1, 0, 0)ダウンロード
- hibernate.rbw (Ruby 2.0)
- hibernate.rbw
- hibernate.exe
パラメータの詳細についてはこちらを参照
http://msdn.microsoft.com/en-us/library/aa373201(v=vs.85).aspx
Rubyスクリプトを実行するにはあらかじめRubyをインストールしておく必要があります。
http://www.ruby-lang.org/ja/downloads/#label-1
ピンバック: 2011年08月01日(月)の日常 - okaz::だめにっき
悩みがこのページで解決しました
「スリープ・休止 (お勧めしない方法)」で おっしゃる通り タスクスケジューラからの自動復帰(2003Server)が出来なくて困っていたところでした 「hibernate.exe」を使わせていただいた所 問題なく 自動休止→タスクスケジューラ自動復帰 が出来ました ありがとうございます
ピンバック: Wake On Lan についてのまとめ | TipsZone
Windows8で「suspend.exe」を利用させていただき、大変便利です。 有益な情報・技術を本当にありがとうございました。
ピンバック: スタンバイからのWake On LAN 有効化パッチ thinkpad
私もタスクスケジューラからの自動復帰(WindowsXP)が出来なくて、困ってました。たすかりました、ありがとうございます。
すばらしいです。通常のGUIでのSUSPENDから復帰するのはうまくいくのに、rundll32.exe だと失敗するので困っていました。ありがとうございました。
suspend.exe 発見して試してみました。使わせていただきます。必要なので助かりました。