コンソール出力内容をファイルに出力する(start-transcript/stop-transcript)

「start-transcript」はコンソール出力内容をファイルに出力するCmdletです。
コンソールの内容はリアルタイムにファイルに出力されます。

コンソール>ファイル出力の開始:「start-transcript」

このCmdletは使い甲斐がありそうです。
例えば「start-transcript」を利用して、サービスの死活監視系のシェルを「start-transcript」でファイル出力し、ログを定期的に巡回するシェルで障害の検知/報告を行うなどは便利でしょう。
「start-transcript」は通常通りコンソールにも標準出力するため、コンソールの目視でも監視状態を確認できますしね。

コンソール>ファイル出力の中止:「stop-transcript」

ファイル出力は「stop-transcript」を実行するまで続行されます。

実行方法

引数に何も指定しない場合は日付と時刻を含むファイル名で出力されます。
出力フォルダは<マイドキュメント>です。

引数に何も指定しない場合
MSH C:\> start-transcript
Transcript started, output file is D:\Doc\msh_transcript.20051202000404.txt
  • 「msh_transcript.20051202000404.txt」に出力されます。
引数にファイル名を指定した場合(ファイル上書き)
MSH C:\> start-transcript console.txt
Transcript started, output file is console.txt
MSH C:\> write-host newpops
newpops
MSH C:\> stop-transcript
Transcript stopped, output file is C:\console.txt
  • 既存の「C:\console.txt」は上書きされます。

「C:\console.txt」は以下のような内容です。

**********************
MSH Transcript Start
Start time: 20051202000729
Username  : XXXXXXXXXXXXXXXXXX 
Machine	  : XXXXXXXXXXXXXXXXXX
**********************
Transcript started, output file is console.txt
MSH C:\> write-host newpops
newpops
MSH C:\> stop-transcript
**********************
MSH Transcript End
End time: 20051202000749
**********************
引数にファイル名を指定した場合(ファイル追加)

「-append」オプションを指定するとファイルに追加書き込みを行います。

MSH C:\> start-transcript console.txt -append
Transcript started, output file is console.txt
MSH C:\> write-host MSH Memo
MSH Memo
MSH C:\> stop-transcript
Transcript stopped, output file is C:\console.txt


「C:\console.txt」は以下のような内容です。

**********************
MSH Transcript Start
Start time: 20051202000729
Username  : XXXXXXXXXXXXXXXXXX
Machine	  : XXXXXXXXXXXXXXXXXX
**********************
Transcript started, output file is console.txt
MSH C:\> write-host newpops
newpops
MSH C:\> stop-transcript
**********************
MSH Transcript End
End time: 20051202000749
**********************
**********************
MSH Transcript Start
Start time: 20051202001049
Username  : XXXXXXXXXXXXXXXXXX
Machine	  : XXXXXXXXXXXXXXXXXX
**********************
Transcript started, output file is console.txt
MSH C:\> write-host MSH Memo
MSH Memo
MSH C:\> stop-transcript
**********************
MSH Transcript End
End time: 20051202001103
**********************