Backdoor 10 Geschrieben 13. Juni 2013 Melden Teilen 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 Link zu diesem Kommentar
NilsK 2.958 Geschrieben 13. Juni 2013 Melden Teilen 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 Link zu diesem Kommentar
Backdoor 10 Geschrieben 14. Juni 2013 Autor Melden Teilen 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 Link zu diesem Kommentar
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.