sunics
Goto Top

System Shutdown - WMI Wert

Hallo zusammen,

Gibt es über die WMI Klassen einen Wert welcher einen Shutdown anzeigt bzw erkennen lässt.
Dieser soll im besten Fall dann überwacht werden.

Danke im Voraus für Eure Antworten oder Ideen.

Beste Grüsse

Content-Key: 265886

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

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: colinardo
Lösung colinardo 11.03.2015, aktualisiert am 13.03.2015 um 13:01:53 Uhr
Goto Top
Hallo sunics,
WMI ist hier eine suboptimale Idee wenn der Rechner ruterfährt und die entsprechenden Dienste für WMI schon beendet sind.
Es gibt aber auch dort einen Event Win32_ComputerShutdownEvent welches man Subscriben könnte (http://blogs.technet.com/b/heyscriptingguy/archive/2010/04/15/hey-scrip ..), ist aber nicht gerade zuverlässig und eher nicht zu empfehlen.

Besser du gehst hier den Weg über einen Eventlog-Trigger:
http://lifehacker.com/5459919/use-event-viewer-to-tell-when-your-pc-las ...
Oder einen Task im Taskplaner der auf den Shutdown reagiert.

Grüße Uwe
Mitglied: colinardo
Lösung colinardo 11.03.2015, aktualisiert am 13.03.2015 um 13:01:56 Uhr
Goto Top
Wenn es WMI sein muss, hier ein kleines Powershell-Beispiel um den Shutdown eines Remote-Computers zu überwachen:
Bei Remote-Abfragen natürlich sicherstellen das der aktuelle Account über ausreichend Berechtigung auf der Remote-Maschine verfügt, ansonsten müssen die Credentials dem CMD-Let Register-WMIEvent mit dem Parameter -Credentials übergeben werden:

Folgendes Script in einer geöffneten Konsole ausführen und die Konsole offen lassen (wichtig), dann wird bei einem Shutdown des Remote-PCs eine Meldung angezeigt.
$computer = "VM7-001"  
$action = {
    $newevent = $event.sourceEventArgs.NewEvent
    # 1 = Shutdown
    if($newevent.Type -eq 1){
        write-host "Der Computer '$($newevent.MachineName)' wird heruntergefahren."  
        # weitere Event-Überwachung stoppen ...
        Unregister-Event "event_shutdown"  
    }
}
# event abonnieren
Register-WmiEvent -ComputerName $computer -Class Win32_ComputerShutdownEvent -Action $action -SourceIdentifier "event_shutdown"  
Grüße Uwe
Mitglied: sunics
sunics 13.03.2015 um 13:03:03 Uhr
Goto Top
Hallo Uwe,

vielen Dank für Deine Lösungsansätze. Wir konnten es dadurch lösen face-smile