[System Environment] | |||||||||||||
グループ・ポリシーの最終適用日時をレジストリから取得する
|
|||||||||||||
|
解説 |
グループ・ポリシーを更新して何らかの設定を変更した際、クライアントPCにその変更が正しく適用されない、というトラブルが生じることがある。グループ・ポリシーの動作がドメイン・コントローラやActive Directory、ネットワーク、クライアントPCという広い範囲にまたがっているため、トラブル原因を解明するには幅広く調査することになりがちだ。
なるべく迅速に原因をつかむには、トラブル対象のグループ・ポリシーの適用処理が「いつ」行われたかを把握し、調査対象を絞り込むとよい。例えば、この最終適用日時がグループ・ポリシーの更新日時より前の場合、なぜ適用処理が実行されなかったのか、という点に焦点を当てて調査できる。逆であっても、関連するログ・ファイルから最終適用日時の付近に絞り込んで調査できる。
|
このグループ・ポリシーの最終適用日時は、実際にコンピュータ上で適用処理を行うクライアント側拡張(CSE)ごとに、特定のレジストリ・キーに保存されている。そのためレジストリ・エディタやreg.exeコマンドなどで、ローカルはもちろんリモートでも容易に情報を収集できる。本稿では、そのキーのパスや、値から日時を取得する方法について説明する。
なお、ポリシーの結果セット(rsop.msc)でもCSEごとの最終処理日時と思われる情報は収集できる([コンピュータの構成]または[ユーザーの構成]のプロパティの[エラー情報]タブ−[詳細]欄に表示される)。しかし、調べた限りでは、実際のグループ・ポリシーの最終適用日時と異なる日時が表示される場合があったため、今回はレジストリからの取得方法のみ紹介している。
操作方法 |
レジストリ・キーから最終適用日時を取得する
グループ・ポリシーの最終適用日時は、CSE(クライアント側拡張)ごとにクライアントPCのレジストリ・キーに格納されている。もし、対象のグループ・ポリシーを処理するCSEが分からない場合は、基礎解説「グループ・ポリシーのしくみ 第2回 グループ・ポリシーとは何か 5.クライアント側拡張(CSE)」で確認していただきたい。
格納先のレジストリ・キーの名前には、各CSEに割り当てられた固有のGUIDが用いられているので、下表から対象CSEのGUIDすなわちキー名を特定する。
CSEの名称 | CSEのGUID |
ワイヤレス・ネットワーク | {0ACDD40C-75AC-47ab-BAA0-BF6DE7E7FE63} |
フォルダのリダイレクト | {25537BA6-77A8-11D2-9B6C-0000F8080861} |
管理用テンプレート(レジストリ) | {35378EAC-683F-11D2-A89A-00C04FBBCFA2} |
ディスクのクォータ | {3610eda5-77ef-11d2-8dc5-00c04fa31a66} |
QoSパケット・スケジューラ | {426031c0-0b47-4852-b0ca-ac3d37bfcb39} |
スクリプト | {42B5FAAE-6536-11d2-AE5A-0000F87571E3} |
Internet Explorerのゾーン・マッピング | {4CFB60C1-FAA6-47f1-89AA-0B18730C9FD3} |
セキュリティ | {827D319E-6EAC-11D2-A4EA-00C04F79F83A} |
Internet Explorerのブランド化 | {A2E30F80-D7DE-11d2-BBDE-00C04F86AE3B} |
暗号化ファイル・システム(EFS)の回復 | {B1BE8D72-6EAC-11D2-A4EA-00C04F79F83A} |
オフライン・フォルダ | {C631DF4C-088F-4156-B058-4375F0853CD8} |
ソフトウェアのインストール(アプリケーションの管理) | {c6dc5466-785a-11d2-84d0-00c04fb169f7} |
IPSec(IPセキュリティ) | {e437bc1c-aa7d-11d2-a382-00c04f991e27} |
主要なCSEとそのGUID |
特定したGUIDで下表の<CSEのGUID>を置き換えると、参照すべきキーと値が決まる。Windows Server 2003以前とWindows Vista以降でキーのパスが異なる点に注意すること。
項目 | OS | 内容 |
キー | Windows 2000/ Windows XP/ Windows Server 2003 |
HKLMまたはHKCU、HKU\<SID>の SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Winlogon\GPExtensions\<CSEのGUID> |
Windows Vista/ Windows Server 2008 |
HKLMまたはHKCU、HKU\<SID>の SOFTWARE\Microsoft\Windows\CurrentVersion\ Group Policy\Status\GPExtensions\<CSEのGUID> |
|
値の名前 | LastPolicyTime | |
型 | REG_DWORD | |
値の内容 | 最終適用日時(1980年1月1日 0時0分からの分単位のシリアル値) | |
グループ・ポリシーの最終適用日時が格納されているレジストリ・キー | ||
ルート・キーはコンピュータ用ポリシーなら「HKLM」、ユーザー用ポリシーなら「HKCU」(ログオン中のユーザー)または「HKU\<SID>」(特定ユーザー)を指定する。<CSEのGUID>には、そのCSEに割り当てられた固有のGUIDが入る。最終適用日時はシリアル値で格納されており、後述の変換プログラムで実際の日時に変換する必要がある。 |
CSEによっては、上記のキーにLastPolicyTimeが存在しない場合がある。これは、そのCSEによる適用処理対象のグループ・ポリシーが存在しないか、あるいはまったく適用されたことがないためだ。
読める形式で最終適用日時を表示する
こうして取得できたLastPolicyTimeのデータは、1980年1月1日 0時0分を基準とした分単位のシリアル値のため、そのままでは日時を読み取れない。そこでLastPolicyTimeを一般的な日時表記に変換するVBScriptプログラムのサンプルを用意したので参考にしていただきたい。VBScriptの書き方や実行方法などについては、基礎解説「チェック式 WSH入門」や運用「Windows管理者のためのWindows Script Host入門」を参照していただきたい。
|
|
LastPolicyTimeを一般的な日時表記に変換するVBScriptのプログラム | |
第1引数をLastPolicyTimeと見なして、「年/月/日 時:分」形式に変換・表示するだけの簡単なスクリプトだ。これをLastPolicyTime.vbsなどというファイル名で保存し、LastPolicyTimeの10進数値を引数に指定して実行する。時差が+9:00(日本標準時)以外の地域では、intTimeDiff変数の値を変更していただきたい。 |
これを、例えばLastPolicyTime.vbsというファイル名で保存し、次のようにLastPolicyTimeの10進数値を引数に指定して実行すると、最終適用日時が表示される。
|
||||||
変換プログラムの実行および出力の例 | ||||||
cscript.exeを使ってコンソールの標準出力に変換結果を出力している。 | ||||||
|
この記事と関連性の高い別の記事
- Windowsでファイルの最終アクセス日時の更新を無効にしてディスクへの書き込みを抑える(TIPS)
- レジストリ・キーの最終更新日時を調べる(TIPS)
- gpupdateでグループポリシーの適用を強制する(TIPS)
- 自動更新における自動再起動を抑止する(TIPS)
- Windows Update適用後の自動再起動を抑制する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|