Jump to content

Server reboot prüfen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (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 von Backdoor
Geschrieben

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

Geschrieben

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 ;-)

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...