shannra666
Goto Top

Abbarbeitung einer ForEach in Powershell in eine Logdatei leiten

Hallo zusammen,

ich benötige mal wieder Hilfe bei einem Powershellscript. Ich möchte auf mehreren Servern nachts einen Dienst beenden. Der Status soll in eine Logdatei geschrieben werden, welche später mir per Mail zugesendet wird.

$startdate = get-date -Format 'yyyy_MM_dd'  
$Logfile = "c:\src\log_$startdate.txt"   

get-content C:\src\Powershell\Listen\server.txt | foreach {invoke-command {stop-service "<Service>"}-computer $_} | write-output "<Service> $_ beendet" | out-file $logfile -append  
Der Dienst wird auch jedesmal korrekt beendet und die Logdatei erzeugt. Aber es beinhaltet keinen Inhalt, welcher Server nun bearbeitet wurde.

Kann mir vielleicht jemand helfen?

Content-ID: 192801

Url: https://administrator.de/contentid/192801

Ausgedruckt am: 16.11.2024 um 15:11 Uhr

rubberman
rubberman 15.10.2012 um 19:04:29 Uhr
Goto Top
Hallo shannra666,

ich bin zwar selber noch n00b in Sachen Powershell, aber instinktiv würde ich das write-output Cmdlet mit der entsprechenden Ausgabe auch mit in die foreach Schleife einbinden. Also rücke die letzte geschweifte Klamme weiter nach rechts und teste ob das etwas am Inhalt der Datei ändert face-wink

Grüße
rubberman
shannra666
shannra666 18.10.2012 um 09:50:59 Uhr
Goto Top
Vielen Dank für die Antwort.

Ich habe es dann doch etwas anders gemacht. Ganz am Ende frage ich einfach nochmal alle Server ab, wie der Status des Services ist. Den packe ich in die LogDatei undsende Sie mir per Mail.

Trotzdem danke für deinen Ansatz.