Ich habe folgende Skript (test.ps1) erstellt, und ich bin es die Ausführung von der Kommandozeile als „Powershell. \ Test.ps1“Powershell 4.0 Transcript wird die Erfassung nicht ausgegeben von Write-Host-Anweisungen
Write-Host(Start-Transcript -Path "D:\logs.txt")
$remoteScript = {
Write-Host "Remote Log"
}
Invoke-Command -ConnectionUri $uri -Credential $creds -ScriptBlock $remoteScript
Write-Host "Local Log"
Write-Host(Stop-Transcript)
jedoch In der Protokolldatei, die nach dem Ausführen des Skripts generiert wurde, wird die Protokollanweisung weder remote noch lokal angezeigt. Dies hat früher mit Powershell 3.0 funktioniert, aber kürzlich habe ich ein Upgrade auf Powershell 4.0 durchgeführt und es funktioniert nicht mehr.
Hat jemand auf ein ähnliches Problem gestoßen oder weiß von einer anderen Möglichkeit, die Ausgabe von Remote- und lokalen Befehlen zu erfassen?
Danke,
Gaurav
Related: http://stackoverflow.com/questions/13160759/start-transcript-not-capturing-all-output-to-log-file – Matt
Dies bezieht sich auf einen bekannten Fehler in bestimmten Builds https: // social. technet.microsoft.com/Forums/windowsserver/en-US/cecc4f32-28c8-4bdc-be63-49ce3d396625/powershell-4-starttranscript-does-not-log-writehost – Matt
Dank @Matt. Die Lösung, die in msdn Link erwähnt wird, ist die Verwendung von Write-Ouput anstelle von Write-Host, was nur für "Local Log" funktioniert ... Ich bin nicht in der Lage, das "Remote Log" in das Protokoll zu bekommen, während ich es mit der vorherigen Version bekommen habe of Powershell – Gaurav