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!

Recommended Posts

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

Edited by Backdoor
Link to comment

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

Link to comment

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...