しばたテックブログ

PowerShellを中心に気分で書いている技術ブログです。

w32tmデバッグログについて

w32tmコマンドでデバッグログを取得する方法ついては@ITさんの以下の記事に詳しく記載されていますが、個人的に補足しておきたい点があったので備忘録的にエントリを書いておきます。

レジストリを編集した後の設定の反映について

上記の記事にもありますが、w32tmコマンドでデバッグログを取得するにはレジストリのHKEY_LOCAL_MACHINEのSYSTEM\CurrentControlSet\Services\W32Time\Configキー内のFileLogName、FileLogEntries、FileLogEntries*1を追加・編集する必要があります。
これらの値を編集した後はw32tm /config /updateコマンドを実行しないと変更がWindows Timeサービスに反映されず、デバッグログを取得出来ません。

w32tm /config /update

w32tm /debugオプション(Windows 2008 Server以降)

Windows 2008 Server以降からはw32tmコマンドにこのレジストリの編集と全く同等の操作を行う/debugオプションが追加されています。
デバッグログの取得を開始する場合はw32tm /debug /enableコマンドを、デバッグログの取得を終了する場合はw32tm /debug /disableコマンドを実行します。
その他のパラメータについては下の実行例を参照してください。

デバッグログの取得を有効にする場合

REM 各パラメータについて
REM  /file - [必須]デバッグログファイル名。レジストリ FileLogName と同様に指定します。
REM  /entries - [必須] エントリの種類。レジストリ FileLogEntries と同様に指定します。
REM  /size - [必須]ログの最大サイズ(byte) レジストリ FileLogEntries と同様に指定します。
REM  /truncate [オプション]デバッグを開始する際に既存のログをクリアします。
w32tm /debug /enable /file:C:\w32tm.log /entries:0-300 /size:10240000 /truncate

デバッグログの取得を無効にする場合

w32tm /debug /disable

なお、w32tm /debugコマンドを実行した場合はw32tm /config /updateの実行は不要です。

*1:値の詳細については上記の記事を参照してください