最初にトランスクリプト ファイルを作成し、それにすべてのコンテキスト情報を追加してから、Start-Transcript -Appendを呼び出して、トランスクリプト用に初期化したファイルを指定できます。次のような関数を使用できます (要件に応じて微調整します)。
function New-Transcript {
param(
[parameter(Mandatory=$true)] [string]$Path
)
Get-Date -Format 'your preferred format' > $Path
Write-Output 'Contextual message #1' > -Append $Path
Write-Output "Contextual message #2 with $variable" > -Append $Path
Start-Transcript $Path -Append
}
次に、次のようにトランスクリプトを開始します。
New-Transcript <TranscriptFilePath>
または、必要に応じて、トランスクリプトにデフォルトの名前を割り当てることもできます。
param(
[string]$Path = "PowerShell_transcript_$(Get-Date -format 'yyyy-MM-dd_HH-mm-ss')"
)
-Appendスイッチは、最初の後に each >
( Out-File の省略形) と共に使用するようにしてください。そうしないと、毎回ファイルが上書きされます。
これは単なるフレームワークです。おそらく、 New-Transcript関数をさらに開発する必要があります。たとえば、指定されたパスが既に存在するかどうかを確認し、独自の-Appendスイッチを指定して、既存のトランスクリプト ファイルを追加または上書きするかどうかを決定し、パラメータを追加します。どのコンテキスト メッセージを先頭に追加するかなどを制御します。
デフォルトの PowerShell トランスクリプト ヘッダーはカスタム ヘッダーに従うことに注意してください。それらを抑える方法はないと思います。