stefankittel
Goto Top

Windows Updates mit Powershell deinstallieren

Hallo,

ich versuche gerade an einigen PCs das KB5000808 loszuwerden.
Diese sind verteult und nicht in einem AD oder WSUS.

Aber ich kann per Powershell (nt-autorität\system) dort Skripte ausführe, bekomme es aber nicht hin dies Update zu deinstallieren ohne mich direkt auf dem PC als Benutzer anzumelden.

Dies zeit mit alle Updates an.
wmic qfe list

Dies sollte das Update deinstallieren und warten bis wusa fertig ist.
Start-Process wusa.exe -ArgumentList "/KB:5000808 /uninstall /quiet /norestart" -Wait  

Aber die Console ist nach ca. 3 Sekunden wieder zurück.
Im Eventlog steht nichts weiter.

Wenn ich das Update regulär deinstalliere, dauert das eher so 2-3 Minuten.

Ich habe mal nach 10 Minuten einen Reboot gemacht, aber das Update ist noch da.

Was mache ich falsch?

Stefan

Content-Key: 665015

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

Ausgedruckt am: 29.03.2024 um 04:03 Uhr

Mitglied: BlairChristopher
BlairChristopher 23.03.2021 um 07:07:11 Uhr
Goto Top
Hallo Stefan,

das Argument quiet scheint bei wusa.exe in Windows 10 nicht mehr zu funktionieren.
Dagegen scheint folgendes zu funktionieren:
DISM.exe /Online /Remove-Package /PackageName:KB5000808  /quiet /norestart 


Quelle: https://social.technet.microsoft.com/Forums/windows/en-US/f6594e00-2400- ...


Viele Grüße
Christian
Mitglied: StefanKittel
StefanKittel 23.03.2021 um 07:54:18 Uhr
Goto Top
Hallo Christian,

Fehler: 87
Fehler beim Verarbeiten des Befehls.
Stellen Sie sicher, dass die Befehlszeilenargumente gültig sind.

Laut Deinem Link scheint dies mit Windows 10 nicht mehr funktioniert. Nur noch wusa wird unterstützt.
Mitglied: TK1987
TK1987 23.03.2021 aktualisiert um 09:40:25 Uhr
Goto Top
Moin Steffan,

Zitat von @StefanKittel:
Fehler: 87
Fehler beim Verarbeiten des Befehls.
Der Paketname lautet bei Dism auch nicht 'KB5000808'
Versuche es mal mit
Remove-WindowsPackage -Online -Packagename 'Package_for_RollupFix~31bf3856ad364e35~amd64~~18362.1440.1.7'  

Sollte das nicht helfen, alternativ:
$Package = Get-Windowspackage -Online -PackageName * | ? Description -match 'KB5000808'  
$Package | Remove-WindowsPackage -Online

Gruß Thomas
Mitglied: Tezzla
Tezzla 23.03.2021 um 09:21:18 Uhr
Goto Top
Moin,
$UpdateVersion = "19041.867.1.8"  
$SearchUpdates = dism /online /get-packages | findstr "Package_for" | findstr "$UpdateVersion"  
$updates = $SearchUpdates.split(":")[1].replace(" ", "")  
if ( $updates ) { dism /Online /Remove-Package /PackageName:$updates /quiet /norestart }

Habs von einem hier aus dem Forum geklaut, ich weiß leider nicht mehr aus welchem Post das war.
Das tuts aber silent.

VG
Mitglied: TK1987
TK1987 23.03.2021 aktualisiert um 09:52:53 Uhr
Goto Top
Moin,

Zitat von @Tezzla:
$SearchUpdates = dism /online /get-packages | findstr "Package_for" | findstr "$UpdateVersion"  
wieso nutzt ihr alle die alten CMD-Befehle in Powershell?
Dism ist doch als Modul in Powershell integriert; und gibt so anstelle von Zeichenketten auch gleich Objekte mit entsprechenden Eigenschaften aus
Get-Command -Module DISM

Gruß Thomas