Wie leite ich Write-Host Ausgaben in ein Log um?

Antwort

Um die Ausgabe von `Write-Host` in PowerShell in ein Log zu schreiben, kannst du `Write-Output` oder `Add-Content` verwenden, da `Write-Host` standardmäßig nur auf die Konsole schreibt und nicht in eine Datei umgeleitet werden kann. Hier ist ein Beispiel, wie du das machen kannst: ```powershell # Definiere den Pfad zur Logdatei $logFile = "C:\Pfad\zu\deiner\logdatei.log" # Schreibe eine Nachricht in die Logdatei "Dies ist eine Lognachricht" | Out-File -FilePath $logFile -Append # Alternativ kannst du Add-Content verwenden Add-Content -Path $logFile -Value "Dies ist eine weitere Lognachricht" ``` Falls du dennoch `Write-Host` verwenden möchtest und die Ausgabe in eine Datei umleiten willst, kannst du den folgenden Ansatz verwenden: ```powershell # Definiere den Pfad zur Logdatei $logFile = "C:\Pfad\zu\deiner\logdatei.log" # Fange die Ausgabe von Write-Host ab und schreibe sie in die Logdatei $host.UI.RawUI.OutBuffer = 0 $originalOut = [Console]::Out $writer = [System.IO.StreamWriter] $logFile [Console]::SetOut($writer) Write-Host "Dies ist eine Lognachricht" # Setze die ursprüngliche Ausgabe zurück [Console]::SetOut($originalOut) $writer.Close() ``` Diese Methode fängt die Ausgabe von `Write-Host` ab und schreibt sie in die angegebene Logdatei.

Frage stellen und sofort Antwort erhalten