prefetch-file

Windows Prefetchファイルをパースしてアプリケーションの実行履歴を照会します。PrefetchファイルはWindows XP以降でアプリケーションの起動パフォーマンスを最適化するために生成され、C:\Windows\Prefetchディレクトリに.pf拡張子で保存されます。

コマンドプロパティ

項目説明
コマンドタイプドライバークエリ
必要な権限クラスター管理者
ライセンス使用量集計あり
並列実行非対応
分散実行非対応

構文

prefetch-file [zippath=STR] [zipcharset=STR] FILE_PATH

オプション

zippath=STR
ZIPファイルのパス。分析対象ファイルがZIPアーカイブ内にある場合にZIPファイルのパスを指定します。
zipcharset=STR
ZIPエントリ名の文字セット(デフォルト: utf-8

対象

FILE_PATH
Prefetchファイルのパス。ワイルドカード(*)を使用して複数のファイルを一度に照会できます。zippathオプションと併用する場合はZIPファイル内部のパスを指定します。

出力フィールド

フィールド説明
_filestring元のPrefetchファイル名
versionintegerPrefetchファイルのバージョン。Windows XP: 17、Windows Vista/7: 23、Windows 8.1: 26、Windows 10: 30
file_sizelongPrefetchファイルのサイズ(バイト)
executable_namestring実行ファイル名
hashstring実行ファイルパスのハッシュ値(16進数文字列)
last_run_timetimestamp最終実行時刻
prev_run_timesarray過去の実行時刻の一覧。Windows 8.1以降でのみ提供され、最大8件の実行時刻を含みます。以前のバージョンではnullを返します。
run_countinteger実行回数
loaded_filesarray実行時にロードされたファイルパスの一覧
directoriesarrayボリューム情報の一覧。各項目は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設定に含まれていることを前提とします。

  1. 単一のPrefetchファイルの照会

    prefetch-file C:\Windows\Prefetch\NOTEPAD.EXE-D8414F97.pf
    

    指定したPrefetchファイルから実行履歴を照会します。

  2. ワイルドカードですべてのPrefetchファイルを照会

    prefetch-file C:\Windows\Prefetch\*.pf
    

    Prefetchディレクトリ内のすべてのPrefetchファイルを照会します。

  3. ZIPアーカイブ内部のPrefetchファイルの照会

    prefetch-file zippath=D:\evidence\artifacts.zip Prefetch\*.pf
    

    ZIPアーカイブ内部のPrefetchファイルを照会します。

  4. 実行回数を基準に並べ替え

    prefetch-file C:\Windows\Prefetch\*.pf
    | sort -run_count
    

    すべてのPrefetchファイルを実行回数の降順に並べ替えます。

  5. 特定の実行ファイルのロードされたファイル一覧を照会

    prefetch-file C:\Windows\Prefetch\*.pf
    | search executable_name == "CMD.EXE"
    | explode loaded_files
    

    CMD.EXE実行時にロードされたファイルの一覧を各項目ごとに展開して照会します。

互換性

prefetch-fileコマンドは、Sonar 4.0以前のバージョンから提供されています。4.0.2511.0バージョンからクラスター管理者権限が必要です。