mupan7
Goto Top

MS Updates automatisch einspielen, steuern, überprüfen

Wir hosten drei Kundenserver (Windows Server 2008 R2), die in einer eigenen Domäne schaffen und nicht an einem WSUS hängen. Es ist dafür gesorgt, dass MS Updates (nicht nur Windows Updates) eingespielt werden und dass Download und Installation der Updates ausgelöst werden müssen, damit die Kundenserver nicht unkontrolliert offline gehen oder durch den Download von Updates die Performance zu heißen Arbeitszeiten beim Kunden gedrückt wird. Mit einem PowerShell-Skript lese ich den Status von für unsere Anwendung relevanten Windowsservices, Webservices und Webseiten aus. Das Skript informiert mich auch über ausstehende MS Updates:

# MS Updates?
$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
$SearchResult = $UpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0")
$totalUpdates = $($SearchResult.updates.count)
if ($totalUpdates -gt 0)
    { $MailSubject = $MailSubject + " and MS UPDATES PENDING" }

Das Gesundheitsreportskript wird in der Aufgabenplanung am Server einmal täglich und nach jedem Serverneustart getriggert und schickt seine Ergebnisse per Mail.

Offlinezeiten sind also bevorzugt abends um ca. 21:00 Uhr. Da bin ich zu Hause. Updates auszulösen und zu überwachen ist normalerweise eine wenig interaktive Arbeit: Auf den Knopf "Updates installieren" klicken, das Ergebnis und die Aufforderung zum Maschinenneustart abwarten, den Maschinenneustart auslösen, auf die Health-report-Mail warten. Bei Problemen müsste ich den Arbeits-Notebook halt auspacken, Strom- und LAN-Anschluss stecken, hochfahren, VPN aufbauen, RDP aufbauen.

Aber für die Routine wie oben könnte ich den Arbeits-Notebook im Rucksack lassen, die Mails kann ich auch per Webaccess am privaten Rechner lesen.

Konkrete Fragen:

1. Löst in dieser Situation ein geplanter shutdown -r -t 0 zuverlässig das Einspielen aller "wichtigen" und sicherheitsrelevanten Updates aus?

2. Ich kann mich beim Hinweis " and MS UPDATES PENDING" per RDP oder durch

   Enter-PSSession <Rechnername> -Credential <Rechnername>\Administrator
   $UpdateSession = New-Object -ComObject Microsoft.Update.Session
   $UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
   $SearchResult = $UpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0")
   $SearchResult.Updates
   Exit-PSSession

informieren, welche Updates anstehen. Wenn ich ein optionales Update mit installieren will, wie weise ich den Rechner an, das am Abend beim ausgelösten Updaten bzw. Serverneustart mit Update mit zu erledigen?

3. Wenn eine Maschine ihre Updates vom WSUS bezieht, habe ich in der Windows-Update-Sektion in der Systemsteuerung die Möglichkeit, trotzdem online bei MS nach Updates zu suchen. Kann ich diese Suche auch automatisieren? Wie? Die Methode CreateUpdateSearcher() am COM-Objekt Microsoft.Update.Session liefert anscheinend immer die von der primären Updatequelle angebotenen Updates. Nach einer manuellen interaktiven Suche am WSUS vorbei hat mir ein Rechnerneustart auch nicht die gerade online gefundenen Updates eingespielt, das hätte ich konkret mit Klick auf "Updates installieren" auslösen müssen. Wie kann ich das Installieren online von MS angebotener Updates an einem WSUS vorbei ggf. für abends automatisieren?

4. Besondere Hinweise zum MS Update, manuell oder automatisiert, auf Domain-Controller-Maschinen?

5. Wie geht ihr für solche Aufgaben vor, gibt es für weniger als 10 Rechner dimensionierte Tools, die die Aufgaben erleichtern? Oder traut ihr allen automatisierten Lösungen trotz Ergebnisüberwachung zu wenig, um es so wie ich anzugehen? Meinen privaten Rechner werde ich aus Sicherheitsgründen (Sicherheit und Privatheit für meine privaten Daten und Sicherheit des Firmennetzes) nicht per VPN ins Firmennetz einwählen. Ich könnte versuchen, eine Linux-VM für VPN und RDP ins Firmennetz auf meinem privaten Rechner zu nehmen. Gibt es Linux-VPN-Pakete für "Windows-VPN" (PPTP) und RDP-Pakete, die mit Windows-Servern zurechtkommen? Oder sollte ich mich mit SSH / Putty / Kitty genauer beschäftigen, da ist der lokale Rechner nicht gleich ins Netz eingewählt, sondern genießt im entfernten Netz nicht per se eine Vertrauensstellung, oder? Einen SSH-Server auf den betroffenen Maschinen aufzusetzen ist kein technisches und Berechtigungsproblem, und die Portfreigabe machen mir unsere Admins bestimmt.

Content-Key: 254718

Url: https://administrator.de/contentid/254718

Printed on: April 19, 2024 at 10:04 o'clock

Member: DerWoWusste
Solution DerWoWusste Nov 13, 2014, updated at Nov 14, 2014 at 11:55:50 (UTC)
Goto Top
Hi mupan7.

Deine Bedenken und Gedanken in allen Ehren, aber die Fragestellung ist doch sehr umfangreich.
Es wäre besser, einzelne, leichter überblickbare Fragen zu stellen.

Als Versuch:
1) Nein. Shutdown.exe macht immer shutdown ohne Installation. Passend wäre
wuauclt /updatenow && shutdown -f -r -t 00
(sofern die Updates schon detektiert und runtergeladen sind).
2) Ich würde den PC anweisen, immer optionale zu installieren, das geht per GPO.
3) Kannst Du. Du kannst per reg.exe die Einstellungen des WSUS-Clients umschreiben auf Internetupdate (einfach die WSUS-Einträge löschen), danach den Updatedienst neu starten (net stop wuauserv & net start wuauserv) und schon wird im Internet gesucht
4) verstehe ich nicht
5) wir installieren alles automatisiert. Updates machen quasi nie Problemke und haben in 10 Jahren in Testsystemen noch nie Probleme bereitet, deshalb wurde das Testing seit 2 Jahren eingestellt.
Worauf wir vertrauen: überwachen der Rechner nach den Updates. Also automatisches kontrollieren, ob deren Services noch arbeiten (via nagios und Konsorten) und DANN eingreifen, falls nicht.
Member: mupan7
mupan7 Nov 13, 2014 at 13:54:29 (UTC)
Goto Top
Hallo DerWoWusste,

Zitat von @DerWoWusste:
Deine Bedenken und Gedanken in allen Ehren, aber die Fragestellung ist doch sehr umfangreich.
Es wäre besser, einzelne, leichter überblickbare Fragen zu stellen.

Hab ich mir auch überlegt. Fragen, Nachfragen und Antworten hängen aber voneinander ab. Und dann zeigst du mir, dass es so doch gut geht. Ich finde deine Antworten gut. Ich hab fast damit gerechnet. Fragen 2 bis 4 sind schon abgehakt, 1 und 5 auch schon fast ;)


Zitat von @DerWoWusste:
1) Nein. Shutdown.exe macht immer shutdown ohne Installation. Passend wäre
wuauclt /updatenow && shutdown -f -r -t 00
(sofern die Updates schon detektiert und runtergeladen sind).

wuauclt setzt aber WSUS voraus? Nun hängen ja unsere Kundenrechner eben nicht am WSUS.

Zitat von @DerWoWusste:
2) Ich würde den PC anweisen, immer optionale zu installieren, das geht per GPO.

Jeden Spielkram, Bing oder Browserchoice, will ich ja nicht. Aber wenn ich sowieso das Herunterladen schon tagsüber erledige, wähle ich dabei ja gleich aus.


Zitat von @DerWoWusste:
3) Kannst Du. Du kannst per reg.exe die Einstellungen des WSUS-Clients umschreiben auf Internetupdate (einfach die
WSUS-Einträge löschen), danach den Updatedienst neu starten (net stop wuauserv & net start wuauserv) und schon wird
im Internet gesucht

OK, und danach wieder zurück ... Glaube, da ist interaktiv schneller, denn aktuell hängen nur unsere internen Testserver am WSUS, und die kann ich eine viertel Stunde vor dem Gehen neu starten.


Zitat von @DerWoWusste:
4) verstehe ich nicht

Dass du das nicht verstehst, bedeutet wahrscheinlich, dass DC in MS-Updates-Belangen unproblematisch sind und auch genauso viel oder wenig wie andere Windows-Server zu Reboot- und Post-reboot-Problemen neigen. Reicht mir schon.


Zitat von @DerWoWusste:
5) wir installieren alles automatisiert. Updates machen quasi nie Problemke und haben in 10 Jahren in Testsystemen noch nie
Probleme bereitet, deshalb wurde das Testing seit 2 Jahren eingestellt.
Worauf wir vertrauen: überwachen der Rechner nach den Updates. Also automatisches kontrollieren, ob deren Services noch
arbeiten (via nagios und Konsorten) und DANN eingreifen, falls nicht.

Gut zu lesen, dass es automatisiert immer gutgeht. Nagios aufsetzen, um unsere eigenen Produktservices erweitern und lernen lohnt aber nicht für meine überschaubare Rechnerzahl, oder?
Member: DerWoWusste
Solution DerWoWusste Nov 13, 2014, updated at Nov 14, 2014 at 11:55:41 (UTC)
Goto Top
wuauclt setzt aber WSUS voraus?
Nein, geht ohne.
Jeden Spielkram, Bing oder Browserchoice, will ich ja nicht.
Das kann man auch im WSUS selektieren.
Zu 4): die DCs sollte man nicht parallel update. Mindestens einer sollte erst upgedated werden, nachdem man sicher ist, dass die anderen nach dem Update noch laufen.
->Nagios: tja, ein bisschen Aufwand ist es schon. Man kann alles auch mit Batch/Powershell kontrollieren, wenn man das beherrscht.