Backdoor 10 Geschrieben 13. Juni 2013 Melden Geschrieben 13. Juni 2013 (bearbeitet) Hallo zusammen, ich möchte per Powershell prüfen, ob bei einem Server ein reboot ansteht. Dazu habe ich bisher folgendes Skript verwenden $Machine = $env:COMPUTERNAME $baseKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine", $Machine) $key = $baseKey.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\") $subkeys = $key.GetSubKeyNames() $key.Close() $baseKey.Close() If ($subkeys | Where {$_ -eq "RebootPending"}) { Restart-Computer -ComputerName $Machine -force } Else { function sendmail($body) {...........................................} Das funktioniert auch gut, jetzt muss ich aber noch einen zweiten Wert prüfen, gut dachte ich, skript erweitern > fertig > läuft Falsch gedacht > läuft nicht Hier das Test Skript $Machine = $env:COMPUTERNAME $baseKey = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine", $Machine) $key = $baseKey.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\") $key2 = $baseKey.OpenSubKey("SOFTWARE\NetSupport\PatchManagement\") $subkeys = $key.GetSubKeyNames() $subkeys2 = $key2.GetSubKeyNames() $key.Close() $key2.Close() $baseKey.Close() If ($subkeys | Where {$_ -eq "RebootPending"} -or $subkeys2 | Where {$_ -eq "RebootRequired"}) { Notepad } Else { calc } hat jemand eine Idee warum das nicht geht, bzw. was ich ändern muss/kann/soll bearbeitet 13. Juni 2013 von Backdoor
NilsK 3.045 Geschrieben 13. Juni 2013 Melden Geschrieben 13. Juni 2013 Moin, die scheinbar einfache Prüfung, ob ein Reboot ansteht, ist in Wirklichkeit leider gar nicht einfach. [Determine Pending Reboot Status—PowerShell Style! Part 1 - Hey, Scripting Guy! Blog - Site Home - TechNet Blogs]http://blogs.technet.com/b/heyscriptingguy/archive/2013/06/10/determine-pending-reboot-status-powershell-style-part-1.aspx [Determine Pending Reboot Status—PowerShell Style! Part 2 - Hey, Scripting Guy! Blog - Site Home - TechNet Blogs]http://blogs.technet.com/b/heyscriptingguy/archive/2013/06/11/determine-pending-reboot-status-powershell-style-part-2.aspx Gruß, Nils
Backdoor 10 Geschrieben 14. Juni 2013 Autor Melden Geschrieben 14. Juni 2013 Hallo Nils, danke für die Antwort, aber ich habe es rausgefunden Ich habe bei der If Abfrage die () vergessen If (($subkeys | Where {$_ -eq "RebootPending"}) -or ($subkeys2 | Where {$_ -eq "RebootRequired"}) -or ($subkeys3 | Where {$_ -eq "RebootRequired"})) Kaum macht man es richtig > geht's ;-)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden