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 Zitieren
NilsK 2.978 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 Zitieren
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 ;-) Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.