Wenn ein Update einen Fehler verursacht, kann es sinnvoll sein, dieses wieder zu deinstallieren. Dabei muss sichergestellt werden, dass die Sicherheitslücke, die dadurch entstehen kann, nicht grösser ist, als das eingeführte Problem.
Um ein Windows Update zu deinstallieren (wie man Office Updates deinstalliert steht weiter unten), kann man das Programm Wusa verwenden. Das entsprechende Kommando um ein Windows Update zu deinstallieren, lautet:
wusa.exe /uninstall /KB:nnnnnnn /quiet /norestart
Um dies mit SCCM zu automatisieren, gibt es verschiedene Wege. Der meiner Meinung nach beste ist es, eine Anwendung zu erstellen.
Bei den Einstellungen kann man den Inhaltsort leer lassen. Das Installationsprogramm darf nicht leer sein, da man aber keines benötigt, kann man irgendetwas hineinschreiben. Beim Deinstallationsprogramm wählt man den entsprechenden weiter oben stehenden Befehl.
Bei der Erkennungsmethode wählt man “Mithilfe eines benutzerdefinierten Skripts erkennen, ob dieser Bereitstellungstyp vorhanden ist:” und als Skripttyp “PowerShell”. Das entsprechende Skript lautet:
Get-HotFix | Where-Object {$_.HotfixID –eq ‘KBnnnnnnn’}
Leider kann man auf diesem Weg ein Office Update nicht deinstallieren. Ich wollte das Update KB4011039 deinstallieren, bei dem es Probleme mit verbundenen Zellen in Word gibt.
Der Befehl wusa.exe /uninstall /KB:4011039 führt zu der Fehlermeldung, dass das Update nicht installiert sei. In der Systemsteuerung unter “Installierte Updates” wird es aber angezeigt.
Um ein Office Update zu deinstallieren, muss man zuerst in der Registry nach der KB Nummer suchen. Dort findet man dann den Uninstall String, in meinem Beispiel:
„C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\Oarpmany.exe“ /removereleaseinpatch „{90160000-0011-0000-0000-0000000FF1CE}“ „{A36375BB-E79D-411D-BF1E-C7E8120A08A9}“ „1031“ „0“
Mit den so gewonnen Daten lässt sich dies aber besser mit folgendem Befehl automatisieren:
msiexec /package {90160000-0011-0000-0000-0000000FF1CE} MSIPATCHREMOVE={A36375BB-E79D-411D-BF1E-C7E8120A08A9} /qn
Daraus lässt sich wieder eine Anwendung erstellen:
In der Beschreibung zum Update ganz unten sind die Dateien aufgeführt, die eine andere Versionsnummer erhalten. Unter anderem wechselt die Version von Winword.exe auf 16.0.4588.1000. Nach der Deinstallation wird die Version 15.0.4561.1000 angezeigt.
Damit kann man eine Erkennungsregel bauen.
Nun kann man die Anwendung auf die Computer verteilen.
Danke für die Anleitung.
Bei mir kommt der Fehler
0x87D00327 das Skript wurde nicht signiert
Man kann ein Powershellskript gemäss dieser Anleitung selber signieren: https://ictschule.com/2011/08/30/powershell-skripte/. Oder man setzt die Berechtigung gemäss der Anleitung auf „unrestricted“ (was ich nicht empfehlen würde). Oder man stellt beim SCCM bei den Clienteinstellungen ein, dass Powershellskripte, die vom SCCM kommen, nicht signiert sein müssen.
Viel Erfolg.
Genial wie schnell hier geantwortet wird. wirklich geniale Seite. Respekt macht weiter so.
ich habe es per Clienteinstellungen auf bypass gestellt und hoffe es geht.
Habe auch eine Variante mit einer TS gefunden. Gibt aber die fehlermeldung Fehlercode: 0x00000057
SCCM ist einerseits genial andereseits manchmal der größte Dreck 🙂
Vielen Dank für die Rückmeldung. Und ja, auch ich pflege eine Hassliebe mit SCCM 😉