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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage