Wie deinstalliere ich ein Windows-Update (Patch) im stillen Modus mithilfe eines Terminals oder PowerShell?

Wie deinstalliere ich ein Windows-Update (Patch) im stillen Modus mithilfe eines Terminals oder PowerShell?

Habe versucht, zu verwenden wusa /uninstall /kb:4497464 /quiet, aber ab Windows 10 ist das Flag veraltet quiet. Gibt es eine andere Möglichkeit zur Deinstallation?

Antwort1

Diese Funktion wurde verworfen und die Möglichkeit, Updates im stillen Modus zu deinstallieren, wurde entfernt. Siehe Veraltete Funktionen in Windows 10 was sagt

Die Verwendung von wusa zum stillen Deinstallieren eines Updates ist veraltet. Der Deinstallationsbefehl mit dem Schalter /quiet schlägt mit der Ereignis-ID 8 im Setup-Ereignisprotokoll fehl. Das stille Deinstallieren von Updates kann ein Sicherheitsrisiko darstellen, da Schadsoftware ein Update im Hintergrund ohne Benutzereingriff still und leise deinstallieren könnte.

Führen Sie mithilfe von PowerShell den folgenden Befehl aus, um die Kennung des Updates zu finden:

dism /online /get-packages /format:table | findstr /i "package_for"

Bildbeschreibung hier eingeben

So entfernen Sie es tatsächlich:

Get-WindowsPackage -Online -PackageName "{PACKAGE-NAME}" |Remove-WindowsPackage -Online -NoRestart -Verbose

Quelle: kann WUSA nicht verwenden, um Updates im Ruhemodus auf Server 2016/2019 zu deinstallieren. Das Entfernen älterer Betriebssysteme funktioniert.

Antwort2

Powershell-Skript:

(dism /online /get-packages /format:table) | ForEach-Object {
$tmp=$_ ;
$tmpArr=$tmp.Split("|") ;
if ( $tmpArr.Length -eq 4 )
{
$tmpName=$tmpArr[0].Trim(" ") ;
$tmpType=$tmpArr[2].Trim(" ") ;
if ( $tmpType.ToLower().Contains("update") )
{
Write-Host "--- delete. |$tmpName| . |$tmpType|" ;
Get-WindowsPackage -Online -PackageName "$tmpName" | Remove-WindowsPackage -Online -NoRestart -Verbose ;
}
}
}

verwandte Informationen