とある事情で電源設定を自動上書きしなければならないので調査&実行。
電源設定は
C:\windows\system32\powercfg.exe /S 反映したい電源の設定
でコマンドラインから上書きできるっぽい。
設定は通常の電源設定から。
既存の設定変更して、「名前を付けて保存」をクリックする。
ダイアログが表示されるのでこの設定の名称を入力する。
反映され、デフォルトの状態になる。
で、** なんらかの事情でこの設定が勝手に変わってしまう ** 場合には前述の通りpowercfg.exeを使って上で作成した「nosuspend」設定を反映することで解決できる。windowsのバッチファイル「.bat」だと実行される度にwindowが一瞬表示されてしまうため、VBスクリプト「.vbs」で作成する。
'実行時にwindowを表示させないようにvbsから実行する
CreateObject("WScript.Shell").Run "C:\windows\system32\powercfg.exe /S nosuspend",0
こんな感じのスクリプトを保存し、タスクマネージャで定期的に実行するようにすればOK。
2012年8月14日追記:
Windows7だと、powercfg.exeのオプションが異なるので少し修正する必要がある。
powercfg.exe -S <SCHEME_GUID>
WindowsXPの時は設定名を渡すようになっていたが、Windows7だと設定に割り当てられたスキームGUIDとやらを渡す必要がある。
スキームGUIDは -l オプションで確認できる。
C:\Windows\System32>powercfg.exe -l
既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4111-f634-41f1-9545-ff4ff260df2e (バランス)
電源設定の GUID: 73831286-9ab3-4bb6-b43d-f2a9a8bef9a4 (nosuspend)
電源設定の GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (高パフォーマンス)
電源設定の GUID: 9d923ab7-baa7-4d6b-998a-05c4a1c79836 (mustsuspend) *
電源設定の GUID: a1123308-3541-4fab-bc81-f71556f20b4a (省電力)
C:\Windows\System32>
ここで自分で設定した nosuspend のGUIDをコピーし、バッチファイルに以下のように適用する。
'実行時にwindowを表示させないようにvbsから実行する
CreateObject("WScript.Shell").Run "C:\windows\system32\powercfg.exe -S 73831286-9ab3-4bb6-b43d-f2a9a8bef9a4",0
Windows7はXPに比べるとタスクの追加方法が分かりづらいので、このあたりを参考にすると良いかもしれない。
電源設定は
C:\windows\system32\powercfg.exe /S 反映したい電源の設定
設定は通常の電源設定から。
既存の設定変更して、「名前を付けて保存」をクリックする。
ダイアログが表示されるのでこの設定の名称を入力する。
反映され、デフォルトの状態になる。
で、** なんらかの事情でこの設定が勝手に変わってしまう ** 場合には前述の通りpowercfg.exeを使って上で作成した「nosuspend」設定を反映することで解決できる。windowsのバッチファイル「.bat」だと実行される度にwindowが一瞬表示されてしまうため、VBスクリプト「.vbs」で作成する。
'実行時にwindowを表示させないようにvbsから実行する
CreateObject("WScript.Shell").Run "C:\windows\system32\powercfg.exe /S nosuspend",0
こんな感じのスクリプトを保存し、タスクマネージャで定期的に実行するようにすればOK。
2012年8月14日追記:
Windows7だと、powercfg.exeのオプションが異なるので少し修正する必要がある。
powercfg.exe -S <SCHEME_GUID>
WindowsXPの時は設定名を渡すようになっていたが、Windows7だと設定に割り当てられたスキームGUIDとやらを渡す必要がある。
スキームGUIDは -l オプションで確認できる。
C:\Windows\System32>powercfg.exe -l
既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4111-f634-41f1-9545-ff4ff260df2e (バランス)
電源設定の GUID: 73831286-9ab3-4bb6-b43d-f2a9a8bef9a4 (nosuspend)
電源設定の GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (高パフォーマンス)
電源設定の GUID: 9d923ab7-baa7-4d6b-998a-05c4a1c79836 (mustsuspend) *
電源設定の GUID: a1123308-3541-4fab-bc81-f71556f20b4a (省電力)
C:\Windows\System32>
ここで自分で設定した nosuspend のGUIDをコピーし、バッチファイルに以下のように適用する。
'実行時にwindowを表示させないようにvbsから実行する
CreateObject("WScript.Shell").Run "C:\windows\system32\powercfg.exe -S 73831286-9ab3-4bb6-b43d-f2a9a8bef9a4",0
Windows7はXPに比べるとタスクの追加方法が分かりづらいので、このあたりを参考にすると良いかもしれない。