start-transcript führt dazu, dass das Skript in einem Hintergrundjob fehlschlägt.
Ich erstelle ein Powershell-Skript als Hintergrundjob mit start-job, das dann die Ausgabe mit start-transcript protokolliert. Unten ist der Code von beiden:
a
start-job -filepath ./b.ps1 -ArgumentList 'test.txt'
wait-job *
b
param([parameter(Mandatory = $true)][string]$logfile)
Set-PSDebug -Strict
$ErrorActionPreference = 'Stop'
start-transcript $logfile
output of ./a.ps
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 Job1 Running True localhost param...
1 Job1 Failed False localhost param...
2 Job2 Failed False localhost param...
Ausgabe von ./b.ps1 -log c: \ test.txt
Transcript started, output file is test.txt
Transcript stopped, output file is C:\test.txt
Ich habe auch einige Tests durchgeführt, indem ich "Echo hier" -Linien gesetzt habe, um zu bestätigen, dass die Linie abgespielt wird.