Ausgabe und Logging eines Powershell Invoke Commands (auch Remote)

Startseite – Aktivität Foren Offtopic Ausgabe und Logging eines Powershell Invoke Commands (auch Remote)

This topic contains 0 replies, has 1 voice, and was last updated by  Markus Büttner 3 years, 3 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #1541

    Das Powershell Cmdlet “Invoke-Command” bietet die Möglichkeit Powershell Befehle auf dem eigenen oder einem anderen Computer auszuführen. Alles was nur angezeigt wird erscheint zwar in der Anzeige.
    Kann aber im weiteren Code (außerhalb des Invoke-Command) nicht verwendet werden. Tritt ein Fehler auf, wird dieser zwar angezeigt, aber standardmäßig nicht zur Weiterverarbeitung an den ausführenden Host zurück gegeben um ihn z.B. in ein Logfile zu schreiben.

    Nachfolgend findet ihr ein Snippit, welches einen Fehler abfängt und diesen dann via Write-output zurück gibt, damit dieser z.B. in ein Logfile geschrieben werden kann.
    (die Zeile Get-Acl C:\temp\nichtda.txt soll testweise einen Fehler verursachen).

    
    $ErrorActionPreference = "Stop"
    
    Invoke-Command -scriptblock{
        try {
            Get-Acl C:\temp\nichtda.txt
            if ($true) 
            {
                Write-output "richtig"
            } 
            else
            {
                Write-output "falsch"
            } 
        }
    catch { 
    	Write-output ($Error[0])
    }
    
    } | Tee-Object  -filepath C:\temp\test.txt -Append
    
Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.