Tags: WSUS, PowerShell
Die Windows Server Update Services (WSUS) erhalten nicht automatisch alle Updates, vielmehr muss man einige manuell aus dem Update Catalog importieren. Die dafür vorgesehene Funktion ist auf den Internet Explorer zugeschnitten und damit überholt. Microsoft ersetzt dieses Verfahren nun durch ein PowerShell-Script.
Die WSUS-Konsole enthält im Kontextmenü eines Servers den Befehl Updates importieren. Er ist für optionale Updates gedacht, die Microsoft nicht an WSUS ausliefert und die man bei Bedarf aus dem Update Catalog übernehmen kann.
IE-Methode schon lange überholt
Der Aufruf dieses Befehls öffnete bis dato den Internet Explorer, der seinerseits ein ActiveX-Control benötigte, um die gewünschte Updates zu suchen und in einen Einkaufswagen zu legen, von wo man sie dann in einem Rutsch nach WSUS importieren konnte.
Nachdem ActiveX-Controls in den meisten Umgebungen schon lange deaktiviert wurden, funktionierte dieses Verfahren in der Praxis kaum noch. Und mit dem Aus für den IE ist es endgültig obsolet.
Mehrere manuelle Schritte für Update-Import
Führt man den Import-Befehl in der aktuellen WSUS-Konsole aus, dann öffnet er den Web-Browser auf einer Seite, die das neue Vorgehen auf Basis eines PowerShell-Scripts erläutert. Dieses erfordert jedoch einige manuelle Schritte:
- Kopieren von ImportUpdatesIntoWSUS.ps1 und Speichern des Codes in einer Datei
- Öffnen des Update Catalog im Web-Browser und Suche nach dem gewünschten Update
- Detailansicht für das Update öffnen und UpdateID kopieren
Die ID übergibt man dem Script über den Parameter UpdateID:
.\ImportUpdateToWSUS.ps1 -UpdateId dbf7dc02-70ef-4476-b228-00a130a39ccd
Möchte man mehrere Updates herunterladen, dann legt man ihre IDs in einer Textdatei ab. Deren Namen übergibt man dem Script folgendermaßen:
.\ImportUpdateToWSUS.ps1 -UpdateIdFilePath UpdateIDs.txt
Beide Beispiele gehen davon aus, dass der Import lokal auf dem WSUS-Server erfolgt. Das Script unterstützt aber auch den Import von einem Remote-PC, die betreffenden Parameter dokumentiert diese Seite.
UpdateID per Script ermitteln
Besonders unnötig erscheinen der manuelle Wechsel zwischen dem Update Catalog und der PowerShell-Session sowie die damit verbundene Kopieraktion aus dem Detailfenster. Offenbar verfügt der Update Catalog bis heute über kein Web-API, über das Microsoft diesen Vorgang automatisieren könnte.
Man kann sich jedoch mit dem folgenden Script behelfen, das die ID aus dem HTML des Catalog ausliest. Es erwartet als Input die KB-Nummer des Updates, die man in der Regel ja kennt:
Nach dem Markieren der benötigten Updates in der grafischen Tabelle klickt man auf OK und erhält so die UpdateID gleich auf der Kommandozeile.
Für Server Core benötigt man eine andere Version dieses Scripts.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- WSUS-Bereinigung als geplante Aufgabe ausführen
- PowerShell 7 über Windows Update oder WSUS aktualisieren
- Produkte und Klassifizierungen in WSUS mit PowerShell konfigurieren
- WSUS Automated Maintenance im Test: Updates ablehnen und entfernen, Datenbank und IIS optimieren
- Updates in WSUS importieren mit Internet Explorer oder PowerShell
Weitere Links
1 Kommentar
Danke Wolfgang, ich habe deinen Artikel und das Script in meinem HowTo hinzugefügt. Wir haben nun zwei Möglichkeiten via PowerShell um die Aufgabe zu erledigen.
https://techcommunity.microsoft.com/t5/windows-server-for-it-pro/how-to-...