PR

Powershellで作業記録を取る

powershell PowerShell
記事内に広告が含まれています。

Powershellで作業記録(ログ)を取る備忘録
主に Start-Transcript コマンドについて記載

Start-Transcriptコマンド

Start-Transcript コマンドは、Powershellセッションに出力される内容をファイルに記録してくれます
作業記録を残したいときに便利です

基本的な使い方

まずは引数無しで使ってみます
記録を完了するには、Stop-Transcript コマンドを使います(良く忘れるので注意しましょう)

PS C:\temp> Start-Transcript
トランスクリプトが開始されました。出力ファイル: C:\Users\<ユーザ名>\OneDrive\ドキュメント\PowerShell_transcript.<PC名>.z03jG1bC.20210828132912.txt
PS C:\temp> pwd

Path
----
C:\temp


PS C:\temp> Stop-Transcript
トランスクリプトが停止されました。出力ファイル: C:\Users\<ユーザ名>\OneDrive\ドキュメント\PowerShell_transcript.<PC名>.z03jG1bC.20210828132912.txt

引数無しの場合は、ユーザのホームディレクトリ配下のドキュメントディレクトリ内にログファイルが出来るようです
OneDriveを使っていない場合はOneDriveではないディレクトリになるようです
また、重複しないファイル名を自動で作ってくれるようなので便利です
ちなみにファイルの中身はこんな感じになりました

**********************
Windows PowerShell トランスクリプト開始
開始時刻: 20210828132912
ユーザー名: <ユーザ名>
RunAs ユーザー: <ユーザ名>
構成名: 
コンピューター: <PC名>(Microsoft Windows NT 10.0.19043.0)
ホスト アプリケーション: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
プロセス ID: 3740
PSVersion: 5.1.19041.1151
PSEdition: Desktop
PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.19041.1151
BuildVersion: 10.0.19041.1151
CLRVersion: 4.0.30319.42000
WSManStackVersion: 3.0
PSRemotingProtocolVersion: 2.3
SerializationVersion: 1.1.0.1
**********************
トランスクリプトが開始されました。出力ファイル: C:\Users\<ユーザ名>\OneDrive\ドキュメント\PowerShell_transcript.<PC名>.z03jG1bC.20210828132912.txt
PS C:\temp> pwd

Path
----
C:\temp


PS C:\temp> Stop-Transcript
**********************
Windows PowerShell トランスクリプト終了
終了時刻: 20210828132928
**********************

ログの出力先を指定

ログファイル名を指定する時には -Path
ログの出力ディレクトリを指定する時には -OutputDirectory
を使います
-OutputDirectory は、何故かカレントディレクトリからの相対パス指定ではなく、デフォルトの出力先ディレクトリからの相対パスになったので注意が必要です

PS C:\temp> Start-Transcript -Path log1.txt
トランスクリプトが開始されました。出力ファイル: log1.txt
PS C:\temp> Stop-Transcript
トランスクリプトが停止されました。出力ファイル: C:\temp\log1.txt
PS C:\temp> Start-Transcript -Path c:\temp\log2.txt
トランスクリプトが開始されました。出力ファイル: c:\temp\log2.txt
PS C:\temp> Stop-Transcript
トランスクリプトが停止されました。出力ファイル: C:\temp\log2.txt
PS C:\temp> Start-Transcript -OutputDirectory dir1
トランスクリプトが開始されました。出力ファイル: C:\Users\<ユーザ名>\OneDrive\ドキュメント\dir1\PowerShell_transcript.<PC名>.aL2zIkmi.20210828133025.txt
PS C:\temp> Stop-Transcript
トランスクリプトが停止されました。出力ファイル: C:\Users\<ユーザ名>\OneDrive\ドキュメント\dir1\PowerShell_transcript.<PC名>.aL2zIkmi.20210828133025.txt
PS C:\temp> Start-Transcript -OutputDirectory c:\temp
トランスクリプトが開始されました。出力ファイル: c:\temp\PowerShell_transcript.<PC名>.hwbIrTDK.20210828133040.txt
PS C:\temp> Stop-Transcript
トランスクリプトが停止されました。出力ファイル: C:\temp\PowerShell_transcript.<PC名>.hwbIrTDK.20210828133040.txt
PS C:\temp>

関連リンク

Start-Transcript (Microsoft.PowerShell.Host) - PowerShell
このコマンドレットは Start-Transcript 、PowerShell セッションのすべてまたは一部のレコードをテキスト ファイルに作成します。 トランスクリプトには、ユーザーが入力したすべてのコマンドと、コンソールに表示されたすべ...

コメント

タイトルとURLをコピーしました