プロセスモニターを使用してレジストリとファイルシステムの変更を追跡する方法

Process Monitorは、Windows Sysinternalsの優れたトラブルシューティングツールで、アプリケーションがリアルタイムでアクセスするファイルとレジストリキーを表示します。 結果はログファイルに保存でき、問題を分析してトラブルシューティングするために専門家に送信できます。

ここでは、アプリケーションによるレジストリとファイルシステムへのアクセスをキャプチャし、さらに分析するためにプロセスモニターを使用してログファイルを生成する方法について説明します。

プロセスモニターを使用してレジストリとファイルシステムの変更を追跡する

シナリオ: WindowsでHOSTSファイルに正常に書き込むことができず、 内部で何が起こっているのかを知りたいとしましょう。 次の記事のすべてのステップは、このサンプルシナリオを中心に展開します。

ステップ1:プロセスモニターの実行とフィルターの構成

  1. Windows SysinternalsサイトからProcess Monitorをダウンロードします。
  2. zipファイルの内容を任意のフォルダーに抽出します。
  3. Process Monitorアプリケーションを実行する
  4. アクティビティを追跡するプロセスを含めます。 この例では、(含める)フィルターにNotepad.exeを含めます。

  5. [ 追加 ]をクリックし、[ OK ]をクリックします。

    ヒント: Notepad.exeと一緒にさらにいくつかのプロセスを追跡する場合は、複数のエントリを追加することもできNotepad.exe 。 この例をより簡単にするために、 Notepad.exeのみを追跡しNotepad.exe

    (これで、プロセスモニターのメインウィンドウに、プロセスによるレジストリおよびファイルアクセスのリストがリアルタイムで追跡されます。

  6. [ オプション ]メニューの[列の選択 ]をクリックします。
  7. [イベントの詳細]で[ シーケンス番号 ]を有効にし、[ OK ]をクリックします。

ステップ2:イベントをキャプチャする

  1. メモ帳を開きます。
  2. プロセスモニターウィンドウに切り替えます。
  3. 「キャプチャ」モードを有効にします(まだオンになっていない場合)。 「キャプチャ」モードのステータスは、プロセスモニターのツールバーから確認できます。

    上の強調表示されたボタンは「キャプチャ」ボタンで、現在無効になっています。 イベントのキャプチャを有効にするには、そのボタンをクリックする(またはCtrl + Eキーシーケンスを使用する)必要があります。

  4. Ctrl + Xキーシーケンス(重要)を使用して既存のイベントリストをクリーンアップし、最初からやり直します
  5. 次に、メモ帳に切り替えて、問題の再現を試みます

    この例の問題を再現するには、HOSTSファイル( C:\Windows\System32\Drivers\Etc\HOSTS )に書き込んで保存してみます。 Windowsは、([名前を付けて保存]ダイアログを表示することにより)別の名前で、または別の場所にファイルを保存することを提案しています

    では、HOSTSファイルに保存すると、内部では何が起こりますか? プロセスモニターはそれを正確に示します。

  6. 問題を再現したらすぐに、プロセスモニターウィンドウに切り替え、キャプチャ(Ctrl + E)をオフにします。 重要な注意:キャプチャを有効にした後は、問題の再現にそれほど時間をかけないでください。 同様に、問題の再現が完了したらすぐにキャプチャをオフにします。 これは、Process Monitorが他の不要なデータを記録しないようにするためです(これにより、分析がより困難になります)。 できる限り迅速にすべてを実行する必要があります。

    解決策:上記のログファイルは、 HOSTSファイルへの書き込み時にメモ帳でACCESS DENIEDエラーが発生したことを示しています。 解決策は、メモ帳を昇格させて実行し(右クリックして[管理者として実行]を選択)、 HOSTSファイルに正常に書き込むことです。

ステップ3:出力を保存する

  1. [プロセスモニター]ウィンドウで、[ ファイル ]メニューを選択し、[ 保存 ]をクリックします
  2. Native Process Monitor Format(PML)を選択し、出力ファイル名とパスを指定して、ファイルを保存します。

  3. Logfile.PMLファイルを右クリックし、[送信]をクリックして、[ Compressed (zipped) folder形式Compressed (zipped) folderを選択しCompressed (zipped) folder 。 これにより、ファイルが~90%圧縮されます。 下の図を見てください。 確かに、誰かに送る前にログファイルを圧縮したいでしょう。

編集者注:通常、クライアントに[ すべてのイベント ]オプションを付けてログを保存することをお勧めします。これにより、対象のコンピューターを効果的にトラブルシューティングするための幅広いオプションを取得できます。 プロセスモニターログを送信する場合は、ログファイルを保存するときに[ すべてのイベント ]オプションを必ず有効にしてください。 また、送信する前にログファイルを圧縮(.zip)することを忘れないでください。

それだけです、読者。 ドキュメントをシンプルにするために、最も簡単な例を使用して、エンドユーザーがプロセスモニターを使用してレジストリとファイルシステムのイベントを効率的に追跡し、ログファイルを生成する方法を明確に理解できるようにしました。

関連記事