Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

レジストリ・キーの最終更新日時を調べる

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

デジタルアドバンテージ 島田 広道
2008/12/12
対象OS
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
ソフトウェア障害が発生したとき、ファイルと同様にレジストリ・キーも書き換え時刻を調べると障害の起点が判明し、解決に結びつくことがある。
レジストリ自体にはキーごとにその最終更新日時が記録されているものの、レジストリ・エディタのGUI画面では確認できない。
レジストリをテキスト形式でエクスポートすると、キーごとに最終更新日時が出力される。

解説

 周知のとおり、レジストリはWindowsシステム全般のさまざまな情報を集中的に管理するデータベースである。ハードウェアからOS、ドライバ、サービス、アプリケーションなどWindowsに関するほとんどの情報がこのレジストリに記録されている。その内容には設定情報のほか、ソフトウェアの稼働状況のログや履歴なども含まれる。そのため、Windows上で何らかの障害が発生した場合、ログ・ファイルと同様にレジストリも重要な情報源となる。

 Windows上でソフトウェア障害が発生したとき、いつどのような事象が発生したのか調べるのは障害原因を探る上で非常に重要である。発生時刻が推定できると、ファイルやレジストリなど膨大な情報を絞り込んで調査できる分、有用な痕跡の発見が容易になり、解析にかかる時間を短縮できるからだ。障害に関係のありそうなファイルまたはレジストリ・キーが分かれば、そこに「何が」書き込まれたかだけではなく、「いつ」書き換えられたのかが確認できると、より迅速に障害を解消できる可能性が高まる。

 対象がファイルの場合、その最終更新日時はファイル・システムに記録されていて、Windowsエクスプローラの「更新日時」から容易に確認できる。一方レジストリの場合、その中にレジストリ・キーの最終更新日時は保存されているものの、Windows標準のレジストリ・エディタ(regedit.exe)はそれを直接表示できない。

 OSがWindows XP以降であれば、レジストリ・エディタのエクスポート機能を利用して最終更新日時を可視化できる。この方法だと最終更新日時が分単位(秒は表示されない)で、かつレジストリ・キー単位(値ごとの取得は不可)でしか得られないという制限はあるものの、別途ツールをインストールするような手間なく調査できる。本稿ではこの方法を説明する。

 より詳しい更新時刻情報が必要だったり、OSがWindows 2000以前だったりする場合は、TIPS「レジストリへのアクセスをモニタする方法」のようにレジストリ監視ツールの利用を検討していただきたい。

操作方法

 本稿では、レジストリ・エディタ(regedit.exe)でエクスポート時のファイル形式をデフォルトから変更することで、エクスポート・ファイルに各キーの最終更新日時が記録されるようにする方法を説明する。レジストリ・エディタのエクスポート/インポート機能については、TIPS「レジストリ・キーのデータを移行・バックアップする」も参照していただきたい。

レジストリをテキスト形式でエクスポートする

 まず目的のレジストリ・キーを参照可能なユーザー・アカウントでWindowsにログオンし、レジストリ・エディタ(regedit.exe)を起動する。

レジストリ・キーのエクスポート
レジストリ・キーをテキスト形式でエクスポートすると、キーの更新情報が得られる。
キーを選択して、右クリックする。
これを選択する。

 左ペインのツリーから目的のレジストリ・キーを見付けたら、右クリックし、ポップアップ・メニューの[エクスポート]を選択する。ファイル保存ダイアログが表示されるので、[ファイルの種類]プルダウン・メニューから「テキスト ファイル (*.txt)」を選んだ後でエクスポート・ファイルを保存する。[ファイルの種類]のデフォルトは「登録ファイル (*.reg)」なので、必ず変更する必要がある。

レジストリ・エディタのエクスポート・ファイル保存ダイアログ
デフォルトでは「登録ファイル (*.reg)」形式が選択されている。これを「テキスト ファイル (*.txt)」形式に変更してからエクスポート・ファイルに保存する。
これを選択する。

 保存したファイルをメモ帳などのUnicode対応テキスト・エディタで開き、目的のキーを検索すると、以下のようにキーの最終更新日時を確認できる。

テキスト・ファイル形式で保存したエクスポート・ファイルの例
赤枠内の日時が各キーの最終更新日時を表している。秒単位の時刻や、レジストリの値ごとの最終更新日時は取得できないので注意。文字コードはUnicodeなので、メモ帳などUnicode対応のテキスト・エディタで開くこと。

 なおテキスト形式でエクスポートしたファイルはインポートには利用できないので、必要なら別途「登録ファイル (*.reg)」あるいは「レジストリ ハイブ ファイル」形式でも保存する必要がある。End of Article

「Windows TIPS」


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間