PowerShellの操作ログを取る

スポンサーリンク

Start-Transcript コマンドで操作ログを取得できます。

TEST

1. 基本操作

操作ログの記録開始
PowerShell を起動して、以下のコマンドを実行する。

Start-Transcript

操作ログの記録停止
PowerShell を起動して、以下のコマンドを実行する。

Stop-Transcript

2. オプションと実行例

① デフォルト

デフォルトの場合 %userprofile%\Documents にログが保存されます。

書式

Start-Transcript

実行例

> Start-Transcript
トランスクリプトが開始されました。出力ファイル: C:\Users\Administrator\Documents\PowerShell_transcript.WIN2019.FApB7Uv3.20211112231536.txt

② ログの出力先を指定(上書き)

-Path オプションで、ログファイルの出力先を指定できます。
※デフォルトでは同名のファイルが存在する場合は上書きします

書式

Start-Transcript -Path <ログファイルのパス>

実行例

> Start-Transcript -Path C:\tmp\test.log
トランスクリプトが開始されました。出力ファイル: C:\tmp\test.log

③ ログの出力先を指定(追記)

-Append オプションを指定すると、すでに同名のファイルが存在する場合は追記をします。

書式

Start-Transcript -Append -Path <ログファイルのパス>

実行例

> Start-Transcript -Append -Path C:\tmp\test.log
トランスクリプトが開始されました。出力ファイル: C:\tmp\test.log

④ ログの出力先を指定 ※ファイルが存在する場合は失敗させる

-noclobber オプションを指定すると、すでに同じファイルが存在する場合はコマンドを失敗させます

書式

Start-Transcript -noclobber -Path <ログファイルのパス>

> Start-Transcript -noclobber -Path C:\tmp\test.log
Start-Transcript : ファイル C:\tmp\test.log は既に存在しますが、NoClobber が指定されました。
発生場所 行:1 文字:1
+Start-Transcript -noclobber -Path C:\tmp\test.log
+
+ CategoryInfo : ResourceExists: (C:\tmp\test.log:String) [Start-Transcript], UnauthorizedAccessException
+ FullyQualifiedErrorId : NoClobber,Microsoft.PowerShell.Commands.StartTranscriptCommand

以上。

PowerShell に関しては下記の本をお勧めしておきます。プログラミング初心者向けに丁寧に解説されています。2015年に出版された本ですが、PowerShell の基本的なコマンドはかわらないので何の問題もありません。

コメント