prefetch-file
Windows Prefetchファイルをパースしてアプリケーションの実行履歴を照会します。PrefetchファイルはWindows XP以降でアプリケーションの起動パフォーマンスを最適化するために生成され、C:\Windows\Prefetchディレクトリに.pf拡張子で保存されます。
コマンドプロパティ
| 項目 | 説明 |
|---|---|
| コマンドタイプ | ドライバークエリ |
| 必要な権限 | クラスター管理者 |
| ライセンス使用量 | 集計あり |
| 並列実行 | 非対応 |
| 分散実行 | 非対応 |
構文
オプション
zippath=STR- ZIPファイルのパス。分析対象ファイルがZIPアーカイブ内にある場合にZIPファイルのパスを指定します。
zipcharset=STR- ZIPエントリ名の文字セット(デフォルト:
utf-8)
対象
FILE_PATH- Prefetchファイルのパス。ワイルドカード(
*)を使用して複数のファイルを一度に照会できます。zippathオプションと併用する場合はZIPファイル内部のパスを指定します。
出力フィールド
| フィールド | 型 | 説明 |
|---|---|---|
| _file | string | 元のPrefetchファイル名 |
| version | integer | Prefetchファイルのバージョン。Windows XP: 17、Windows Vista/7: 23、Windows 8.1: 26、Windows 10: 30 |
| file_size | long | Prefetchファイルのサイズ(バイト) |
| executable_name | string | 実行ファイル名 |
| hash | string | 実行ファイルパスのハッシュ値(16進数文字列) |
| last_run_time | timestamp | 最終実行時刻 |
| prev_run_times | array | 過去の実行時刻の一覧。Windows 8.1以降でのみ提供され、最大8件の実行時刻を含みます。以前のバージョンではnullを返します。 |
| run_count | integer | 実行回数 |
| loaded_files | array | 実行時にロードされたファイルパスの一覧 |
| directories | array | ボリューム情報の一覧。各項目はpath(ボリュームデバイスパス)、creation_date(ボリューム作成時刻)、directory_strings(ディレクトリ文字列の一覧)フィールドを含むマップです。 |
エラーコード
パースエラー
該当なし
ランタイムエラー
| エラーコード | メッセージ | 説明 | 後処理の動作 |
|---|---|---|---|
| - | cannot read prefetch file [FILE_PATH] | ファイルの読み取りまたはパース中にエラーが発生した場合 | クエリ中断 |
説明
prefetch-fileコマンドは、Windows Prefetchファイルをパースしてアプリケーションの実行履歴を照会します。1つのPrefetchファイルから1つのレコードが出力されます。
Windows 8.1以降(バージョン26、30)のPrefetchファイルはMAM圧縮形式で保存されており、コマンドが自動的にLZ Xpress圧縮を解除してからパースします。Windows XP(バージョン17)、Windows Vista/7(バージョン23)などの旧バージョンの非圧縮Prefetchファイルもサポートします。
loaded_filesフィールドにはアプリケーション実行時にロードされたDLL、フォントファイルなどのパスが含まれます。directoriesフィールドにはボリューム別のディレクトリ情報が配列形式で格納されます。
このコマンドは4.0.2511.0バージョンからクラスター管理者権限が必要で、アクセス可能なファイルパスが制限されます。詳細はファイルアクセス制限を参照してください。
使用例
各使用例のファイルパスはALLOWED_FILE_SCAN_PATHS設定に含まれていることを前提とします。
-
単一のPrefetchファイルの照会
prefetch-file C:\Windows\Prefetch\NOTEPAD.EXE-D8414F97.pf指定したPrefetchファイルから実行履歴を照会します。
-
ワイルドカードですべてのPrefetchファイルを照会
prefetch-file C:\Windows\Prefetch\*.pfPrefetchディレクトリ内のすべてのPrefetchファイルを照会します。 -
ZIPアーカイブ内部のPrefetchファイルの照会
prefetch-file zippath=D:\evidence\artifacts.zip Prefetch\*.pfZIPアーカイブ内部のPrefetchファイルを照会します。
-
実行回数を基準に並べ替え
prefetch-file C:\Windows\Prefetch\*.pf | sort -run_countすべてのPrefetchファイルを実行回数の降順に並べ替えます。
-
特定の実行ファイルのロードされたファイル一覧を照会
prefetch-file C:\Windows\Prefetch\*.pf | search executable_name == "CMD.EXE" | explode loaded_filesCMD.EXE実行時にロードされたファイルの一覧を各項目ごとに展開して照会します。
互換性
prefetch-fileコマンドは、Sonar 4.0以前のバージョンから提供されています。4.0.2511.0バージョンからクラスター管理者権限が必要です。