none
Suche Script für Ausgabe ausstehender Updates RRS feed

  • Frage

  • Hallo zusammen,

    innerhalb einer SystemCenter Configuration Manager Umgebung werden Windows Updates über Wartungsfenster automatisiert installiert. Im Anschluss der Installation erfolgt binnen 10 Minuten ein automatisierter Neustart der Systeme, insofern ein Update dies anfordert.

    In der Regel greift somit nur alle 4 Wochen dieses Wartungsfenster, wenn Patchday war...

    Wir haben nun die Anforderung, dass ein Dienst auf einem Anwendungsserver, welcher eine Verbindung zu einem Datenbankserver herstellt, vor dem Neustart des Datenbankservers beendet wird.

    Da ich aber nicht alle 5 Minuten eine Remoteabfrage eines ausstehenden Neustarts des Datenbankservers als Signal für die Beendigung des Dienstes auf dem Anwendungsserver durchführen möchte, suche ich ein Script, welches mir ausgibt, ob denn überhaupt Updates zur Installation anstehen!

    Dieses Script würde ich vor dem Beginn des SCCM-Wartungsfensters ausführen lassen und bei entsprechendem Ergebnis den Dienst auf dem Anwendungsserver beenden lassen (das macht der SC Orchestrator)

    Am liebsten wäre mir die Ausgabe einer Zahl als Ergebnis, ob Updates ausstehend/verfügbar sind, worauf basierend ich wiederum ein Runbook zum Beenden des Dienstes implementieren kann, wenn die Zahl größer 0 ist.

    Der Beitrag unter https://gallery.technet.microsoft.com/scriptcenter/Windows-Updates-and-684c355c hilft an der Stelle leider nicht, da hier auf ausstehende Neustarts geprüft wird.

    Hat dazu jemand eine Idee oder noch besser, ein entsprechendes Script?

    Vielen Dank allen Lesern dieses Threads...


    Mit freundlichem Gruss - Harald Haas - MCSE: Cloud Platform and Infrastructure — Certified 2016; MCSA Windows Server 2016

    Mittwoch, 31. Mai 2017 06:51

Antworten

  • LÖSUNG:

    Das folgende Script erfüllt meine Anforderungen:

    $count=0
    $updatesComputer=Get-Pendingupdate -Verbose -ComputerName "FQDN des Datenbankservers"
    $count=$updatesComputer.count
    return $Count

    Dieses Script in den SCO eingebunden und die weiteren Activities auf das Ergebnis >= 0 aufgebaut, erfüllt meine Anforderungen an die Lösung.


    Mit freundlichem Gruss - Harald Haas - MCSE: Cloud Platform and Infrastructure — Certified 2016; MCSA Windows Server 2016

    • Als Antwort markiert H.Haas Dienstag, 6. Juni 2017 04:58
    Dienstag, 6. Juni 2017 04:57

Alle Antworten

  • Hallo Harald,

    ich denke das hilft hier weiter:

    https://gallery.technet.microsoft.com/scriptcenter/0dbfc125-b855-4058-87ec-930268f03285


    Freundliche Grüße

    Sandro
    MCSA: Windows Server 2012
    Fachinformatiker Fachrichtung Systemintegration (IHK, 07/2013)

    Mittwoch, 31. Mai 2017 07:25
  • lol

    ich hatte jetzt natürlich auch nicht untätig rumgesessen und bin auf die Seite gestoßen...

    Das eigentliche Script hatte mir zwar nicht ganz weitergeholfen aber auf der Seite hatten einige User einen Kommentar geschrieben und einige angepasste Scripte veröffentlicht und ich denke, das folgende könnte uns helfen:

    Get-Pendingupdate-Verbose-ComputerName(Get-Content.\machines.txt) |Group-ObjectComputerName|Foreach-Object{

    $_|Select-Object@{Name='ComputerName';Expr={$_.Name}},


    @{Name

    ='TotalUpdates';Expr={$_.Count}},


    @{Name

    ='Critical'; Expr={$_.Group|whereMsrcSeverity-eq'Critical'  |measure|select-expandCount}},


    @{Name

    ='Important';Expr={$_.Group|whereMsrcSeverity-eq'Important'|measure|select-expandCount}},


    @{Name

    ='Moderate'; Expr={$_.Group|whereMsrcSeverity-eq'Moderate'  |measure|select-expandCount}},


    @{Name

    ='NonRated'; Expr={$_.Group|whereMsrcSeverity-eq$null       |measure|select-expandCount}}

    }

    |Format-Table-Auto

    Ich bin noch am Testen...


    Mit freundlichem Gruss - Harald Haas - MCSE: Cloud Platform and Infrastructure — Certified 2016; MCSA Windows Server 2016

    Mittwoch, 31. Mai 2017 07:35
  • LÖSUNG:

    Das folgende Script erfüllt meine Anforderungen:

    $count=0
    $updatesComputer=Get-Pendingupdate -Verbose -ComputerName "FQDN des Datenbankservers"
    $count=$updatesComputer.count
    return $Count

    Dieses Script in den SCO eingebunden und die weiteren Activities auf das Ergebnis >= 0 aufgebaut, erfüllt meine Anforderungen an die Lösung.


    Mit freundlichem Gruss - Harald Haas - MCSE: Cloud Platform and Infrastructure — Certified 2016; MCSA Windows Server 2016

    • Als Antwort markiert H.Haas Dienstag, 6. Juni 2017 04:58
    Dienstag, 6. Juni 2017 04:57