none
グループポリシーから休止状態を無効にするには? RRS feed

  • 質問

  • サーバー:Windows Server 2008
    PC:Windows 7 Pro

    1.Windows 7 Pro で、管理者として実行したコマンドプロンプトを開きます。

    2.「powercfg.exe /hibernate off」を実行します。

    3.「powercfg.exe /availablesleepstates」で休止状態が無効になった事を確認しています。

    4. 2と3を続けて実行し、報告内容をリダイレクトでファイルに保存するバッチファイルを作成しました。

    5.作成したバッチファイルを管理者として実行すると、休止状態が無効になりました。

    6.このバッチファイルをグループポリシーの以下に設定ました。

     コンピューターの構成 > ポリシー > Windowsの設定 > スクリプト > スタートアップ

    7.Windows 7 Pro でグループポリシーの実行後、リダイレクトされたファイルを確認すると、休止状態が無効になっていません。

    8.Windows 7 Pro のコマンドプロンプトから「powercfg.exe /availablesleepstates」で確認しても無効になっていません。

    何か設定に不備があるのでしょうか? よろしくお願いします。

    2015年4月23日 2:05

すべての返信

  • こんにちは。

    参考用にシェアします

    http://rainbringer.blog.eonet.jp/default/2012/06/windows7-powerc-bfab.html


    • 編集済み 社員番号042 2015年5月6日 3:55
    • 回答の候補に設定 佐伯玲 2015年5月8日 1:32
    • 回答の候補の設定解除 オキト 2015年5月8日 6:15
    2015年5月6日 3:42
  • 情報をありがとうございます。

    ただ、レジストリのアクセス許可のセキュリティレベルを、そこまで落とさなければいけないのかがわかりません。

    「スタートアップ スクリプトは Local System アカウントとして実行される」と記載されています。
    https://technet.microsoft.com/ja-jp/library/cc770556.aspx

    このアカウント権限で、なぜアクセス許可がないのかがわかりません。

    「Local System アカウントは、コンピュータにフル アクセス可能な強力なアカウントです。」とも記載されています。
    https://technet.microsoft.com/ja-jp/library/bb680595.aspx

    それなのにスタートアップ スクリプトで実行すると、以下のエラーが出力されます。

    「休止状態機能を有効または無効にするためのアクセス許可がありません。」

    できるだけセキュリティレベルを落とさずに「powercfg.exe /hibernate off」を実行する方法はないのでしょうか?

    2015年5月8日 6:14
  • こんにちは。
    https://support.microsoft.com/en-us/kb/915160/

    こちらによると、レジストリのアクセス権はシステムではなくユーザーに対する書き込み権限が必要とあります。
    Note The user must have the write permission for the following registry subkeys:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg
    • HKEY_ USERS\.DEFAULT\Control Panel\PowerCfg
    なぜなのか、は設計によるところですので、フォーラムで回答は得にくいかと思います。
    • 回答の候補に設定 佐伯玲 2015年5月11日 0:25
    • 回答の候補の設定解除 オキト 2015年5月11日 6:17
    2015年5月8日 7:47
  • 社員番号042 さん、ありがとうございます。

    教えて頂きました内容を元に設定し、休止状態の変更のテストを行ってみました。

    社員番号042 さんが書かれたブログに記載されている参考情報先の内容のように、管理者権限を持つユーザーであれば成功しました。

    しかし、私のところでは標準ユーザーでの運用をしていますので、残念ながらこの設定では失敗しました。

    新たな情報をお待ちしております。 よろしくお願いします。

    2015年5月11日 6:17
  • こんにちは。
    管理者ユーザーでなくとも、2015年5月8日 7:47 の情報のとおりにレジストリの権限を設定すればできるのかと思いますが。
    グループポリシーでやるなら、このレジストリ設定はDomainUsersまたはAuthenticatedUsers などのビルトイン名で汎用化して設定するか、自分で作ったグループを指定してやることになると思います。それも社内事情でできないという事であれば解決策は思いつきません。
    2015年5月22日 2:53
  • こんにちは。

    5/11のテストで、レジストリに Domain Users のフルコントロールを設定したのですが、標準ユーザーのPCでは休止状態の無効は確認できませんでした。

    Windows 7 は64ビットなので、以下のレジストリも追加で設定してみたのですが、ダメでした。

    MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg

    休止状態の無効は、「POWERCFG -X <設定> <値>」 で電源設定の設定値を変更するのように、レジストリだけの変更では実現できない内容ということはありませんか?

    2015年5月22日 6:51
  • こんにちは。

    >>休止状態の無効は、「POWERCFG -X <設定> <値>」 で電源設定の設定値を変更するのように、レジストリだけの変更では実現できない内容ということはありませんか?

    そのご認識のとおりだと思いますよ。POWERCFGの実行ユーザー権限で当該レジストリを編集できることが条件なのですから、レジストリだけで実現するのではなく、ユーザーで編集可能に設定したレジストリをPOWERCFGで書き換えるという作業になると思います。

    その他の情報として、検証したものでは無いのですが、以下のWEBページが詳しそうです。
    http://www.myitkb.ch/index.php?option=com_k2&view=item&id=121:windows-7-change-power-scheme-settings-with-loginscript-without-administrator-permissions&Itemid=71

    URLからあるように、Win7で管理者権限でない状況からログオンスクリプトで電源設定を変更する方法、 とあります。
    スクリーンショットはドイツ語ですが、本文は英語です。 参考にされてみてはいかがでしょうか。


    2015年5月22日 8:12
  • こんにちは。

    情報をありがとうございます。
    サイトの内容を確認しましたところ、だいたい以下の内容でした。

    「復帰時のパスワードを必要とする」を、レジストリのGUIDを直接指定して書き換えています。
    また、「次の時間が経過後スリープする」と「次の時間が経過後ディスプレイの電源を切る」を、「POWERCFG -X 」で変更しています。
    これらを実現する為に、レジストリにユーザー権限を追加しています。

    基本、レジストリの書き換えをユーザー権限で行っているようですね。

    私が実行したいのは「次の時間が経過後休止状態にする」を変更して、休止状態にならないようにしたいのではなく、休止状態の機能そのものを無効にしたいのです。

    それを実行するのが「powercfg.exe /hibernate off」であって、システムドライブのルートにあるシステムファイル「hiberfil.sys」の削除を伴います。

    先程、以下のレジストリのアクセス権限を今度は Users でフルアクセスに設定して、「powercfg.exe /hibernate off」をグループポリシーから実行しましたが、同様に休止状態を無効にできませんでした。

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg
    HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg
    HKEY_USERS\.DEFAULT\Control Panel\PowerCfg

    「powercfg.exe /hibernate off」がアクセスしているレジストリが違うのか?
    または、「powercfg.exe /hibernate off」がユーザー権限では変更できない処理をしようとしているのか?

    現状、行き詰まっています。

    2015年5月26日 2:45