Datenträgerbereinigung-Systemdateien-WindowsUpdate
Moin Leute,
ich bin gerade am verzweifeln... ich habe mich jetzt durch Foren gestöbert, auf der Suche nach einen .ps1 Skript um den Update-Cache zu löschen, siehe Screenshot.
Warum über Powershell?
Wir haben Clients die selten erreichbar sind, und über unser RMM Tool möchte ich dann dieses Skript ausführen damit wir die Probleme mit dem Windows-Update in den Griff bekommen.
Teilweise lassen sich 10H22 oder 11H22 nicht installieren da der Cache Fehlerhafte Dateien enthält (Microsoft it´s not a bug, it´s a feature), ich möchte mich auch nicht immer auf jedes Gerät verbinden und manuell den Task ausführen.
Mein Skript auf .cmd Basis verweigert den Dienst, und dies möchte ich auch nicht unbedingt verwenden, da es sicher schönere Lösungen gibt:
Wenn wer einen Tipp zwecks Powershell hat, ich würd mich freuen.
Grüße aus dem Verschneiden Österreich.
ich bin gerade am verzweifeln... ich habe mich jetzt durch Foren gestöbert, auf der Suche nach einen .ps1 Skript um den Update-Cache zu löschen, siehe Screenshot.
Warum über Powershell?
Wir haben Clients die selten erreichbar sind, und über unser RMM Tool möchte ich dann dieses Skript ausführen damit wir die Probleme mit dem Windows-Update in den Griff bekommen.
Teilweise lassen sich 10H22 oder 11H22 nicht installieren da der Cache Fehlerhafte Dateien enthält (Microsoft it´s not a bug, it´s a feature), ich möchte mich auch nicht immer auf jedes Gerät verbinden und manuell den Task ausführen.
Mein Skript auf .cmd Basis verweigert den Dienst, und dies möchte ich auch nicht unbedingt verwenden, da es sicher schönere Lösungen gibt:
@Echo On
net stop wuauserv
C:
cd %Windir%\SoftwareDistribution
Type del /f /s /q Download
pause
Wenn wer einen Tipp zwecks Powershell hat, ich würd mich freuen.
Grüße aus dem Verschneiden Österreich.

Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5574594709
Url: https://administrator.de/forum/datentraegerbereinigung-systemdateien-windowsupdate-5574594709.html
Ausgedruckt am: 31.03.2025 um 13:03 Uhr
31 Kommentare
Neuester Kommentar

Oder in Kurzform:
Macht das gleiche wie das oben verlinkte Skript nur ohne unnötige Funktionen wie
"bits","wuauserv" | Stop-Service -Force
Remove-Item -Recurse -Force $env:windir\SoftwareDistribution\Download
"bits","wuauserv" | Start-Service
Macht das gleiche wie das oben verlinkte Skript nur ohne unnötige Funktionen wie
function StartWUS() {
Start-Service wuauserv
}
https://www.it-administrator.de/downloads/software/345739/
https://www.powershellgallery.com/packages/Reset-WindowsUpdate/1.20
https://github.com/ManuelGil/Reset-Windows-Update-Tool
Oder von Hand: https://woshub.com/reset-windows-update-agent-and-service-to-default/
Da sind umfangreich die Einzelschritte aufgeführt. Die Scripte oben tun es aber auch. Sind einfacher anzuwenden.
Reset-WindowsUpdate hatte ich immer genommen ...
https://www.powershellgallery.com/packages/Reset-WindowsUpdate/1.20
https://github.com/ManuelGil/Reset-Windows-Update-Tool
Oder von Hand: https://woshub.com/reset-windows-update-agent-and-service-to-default/
Da sind umfangreich die Einzelschritte aufgeführt. Die Scripte oben tun es aber auch. Sind einfacher anzuwenden.
Reset-WindowsUpdate hatte ich immer genommen ...
Achso es gibt auch einen Unterschied zwischen "Fix" und "Bereinigen".
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
Die Updates werden ja eine gewissen Zeit vorgehalten. Gerade bei Releas Sprüngen kommt da was zusammen.
SoftwareDistribution ist aber bei Problemen meist mit 1. Anlaufstelle und recht sicher zu löschen/ umzubenennen.
Wenn dir aber mal WinSxS Ordner um die Ohren fliegt , weil zu groß, da hilft es die alten Updates in Nirvana zu schicken.
Zitat von @Crusher79:
Achso es gibt auch einen Unterschied zwischen "Fix" und "Bereinigen".
Die Updates werden ja eine gewissen Zeit vorgehalten. Gerade bei Releas Sprüngen kommt da was zusammen.
SoftwareDistribution ist aber bei Problemen meist mit 1. Anlaufstelle und recht sicher zu löschen/ umzubenennen.
Wenn dir aber mal WinSxS Ordner um die Ohren fliegt , weil zu groß, da hilft es die alten Updates in Nirvana zu schicken.
Achso es gibt auch einen Unterschied zwischen "Fix" und "Bereinigen".
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
Die Updates werden ja eine gewissen Zeit vorgehalten. Gerade bei Releas Sprüngen kommt da was zusammen.
SoftwareDistribution ist aber bei Problemen meist mit 1. Anlaufstelle und recht sicher zu löschen/ umzubenennen.
Wenn dir aber mal WinSxS Ordner um die Ohren fliegt , weil zu groß, da hilft es die alten Updates in Nirvana zu schicken.
Kannst Du das für Greenhors etwas naeher erläutern? Warum DISM und was macht das da genau, was wo ist SoftwareDistribution und WinSxS
Hallo,
war nur kurz runter geschrieben:
https://www.heise.de/tipps-tricks/WinSxS-bereinigen-so-entfernen-Sie-alt ...
Manchmal haben wir ja nur 120 GB SSD oder weniger. Irgendwann analysiert man das System vlt. mit TreeSize o.ä. Und dann stellt man fest, dass c:\Windows selber verdammt groß ist. Genauer die Unterordner. Einfach rumfuschen und weglöschen ist ein No-Go. Dafür gibt es obenstehende Verfahren.
Ein weiterer beliebter Punkt ist das Scannen und Reparieren von Fehlern:
https://www.heise.de/tipps-tricks/Windows-10-reparieren-so-geht-s-420845 ...
Ich mag ja die PowerShell. Aber dism kann man einfach in Eingabeaufforderung mit Admin-Rechten ausführen - fertig.
Die Verkettung mit && erspart einen das Warten. Die Befehle dauern etwas. In der Zwischenzeit kann man etwas anderes tun ....
Während es bei SoftwareDistribution nur um den "Update Saustall" geht, prüfen und korrigieren die anderen Befehle da noch mehr.
mfg Crusher
war nur kurz runter geschrieben:
https://www.heise.de/tipps-tricks/WinSxS-bereinigen-so-entfernen-Sie-alt ...
Manchmal haben wir ja nur 120 GB SSD oder weniger. Irgendwann analysiert man das System vlt. mit TreeSize o.ä. Und dann stellt man fest, dass c:\Windows selber verdammt groß ist. Genauer die Unterordner. Einfach rumfuschen und weglöschen ist ein No-Go. Dafür gibt es obenstehende Verfahren.
Ein weiterer beliebter Punkt ist das Scannen und Reparieren von Fehlern:
https://www.heise.de/tipps-tricks/Windows-10-reparieren-so-geht-s-420845 ...
sfc /scannow && dism /Online /Cleanup-Image /ScanHealth && dism /Online /Cleanup-Image /RestoreHealt
Ich mag ja die PowerShell. Aber dism kann man einfach in Eingabeaufforderung mit Admin-Rechten ausführen - fertig.
Die Verkettung mit && erspart einen das Warten. Die Befehle dauern etwas. In der Zwischenzeit kann man etwas anderes tun ....
Während es bei SoftwareDistribution nur um den "Update Saustall" geht, prüfen und korrigieren die anderen Befehle da noch mehr.
mfg Crusher
https://www.duden.de/rechtschreibung/teilweise
Und Code Tags beim Posten von Scriptcode etc. wäre für alle Beteiligten sehr hilfreich aber FAQs lesen wird klar überbewertet.
Und Code Tags beim Posten von Scriptcode etc. wäre für alle Beteiligten sehr hilfreich aber FAQs lesen wird klar überbewertet.
Zitat von @aqui:
https://www.duden.de/rechtschreibung/teilweise
Und Code Tags beim Posten von Scriptcode etc. wäre für alle Beteiligten sehr hilfreich aber FAQs lesen wird klar überbewertet.
https://www.duden.de/rechtschreibung/teilweise
Und Code Tags beim Posten von Scriptcode etc. wäre für alle Beteiligten sehr hilfreich aber FAQs lesen wird klar überbewertet.
Du hast eine Triggerwirkung. Hab gleich 1-2 Dinge in meiner Antwort korrigiert. Man fühlt sich immer selber so angesprochen

https://deppenleerzeichen.de/
https://de.wikipedia.org/wiki/Leerzeichen_in_Komposita
Wenn schon pedantisch, dann richtig
On-Topic: DISM wurde auch komplett in Powershell integriert, z.B entspricht
Repair-WindowsImage -Online -RestoreHealth
dism /Online /Cleanup-Image /ScanHealth
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/u ...
War auch nur, weil mehr oder weniger zu Topic passend!
Oft reicht wie gesagt eine "resetten" des Ordners. Eine "Bereinigung" ist dies nur zum Teil. Über die GUI erreicht man nicht alle Komponenten.
Wenn es dann immer noch hakt oder zu einen Rollback kommt können die "Fixe" helfen. Zumindest lassen sich Update Probleme damit eingrenzen. Es kann aber durchaus sein, dass die Festplatte einen weg hat und/ oder Filsystem korrupt ist.
Normal hilft auch immer ein Blick in die Logs. Wo genau Windows drüber stolpert. Der "sanfte Hozhammer" mit SoftwareDistribution löschen hilft aber sehr, sehr oft.
@MrHeisenberg
Sollte es immer noch nicht gehen, so kann man die FeatureUpdates auch manuell laden und ausführen. Gerade bei den Punkt gibt es wieder einen anderen Workaround. Ist aber auch auf vielen Seiten beschrieben.
Zitat von @Crusher79:
Die Verkettung mit && erspart einen das Warten. Die Befehle dauern etwas. In der Zwischenzeit kann man etwas anderes tun ....
sfc /scannow && dism /Online /Cleanup-Image /ScanHealth && dism /Online /Cleanup-Image /RestoreHealt
Die Verkettung mit && erspart einen das Warten. Die Befehle dauern etwas. In der Zwischenzeit kann man etwas anderes tun ....
Für powershell statt && ein ; nehmen
sfc /scannow; dism /Online /Cleanup-Image /ScanHealth; dism /Online /Cleanup-Image /RestoreHealth
Hier allerdings im Output:
Die Option "restorehealt" wird in diesem Kontext nicht erkannt.
Weitere Informationen finden Sie in der Hilfe.

Zitat von @Cleanairs:
Hier allerdings im Output:
Hier allerdings im Output:
Die Option "restorehealt" wird in diesem Kontext nicht erkannt.
Weitere Informationen finden Sie in der Hilfe.
Da fehlt ein "h" am Ende
Zitat von @chaot1coz:
Da fehlt ein "h" am Ende
Zitat von @Cleanairs:
Hier allerdings im Output:
Hier allerdings im Output:
Die Option "restorehealt" wird in diesem Kontext nicht erkannt.
Weitere Informationen finden Sie in der Hilfe.
Da fehlt ein "h" am Ende
Oh mannnn. Danke :D

Powershell als Admin starten.
Du kannst oben die Optionen fürs Scannen und Reparieren anwenden ....
Du könntest schauen wie man Update Offline macht. Herunterladen und Starten.
Bsp.: https://praxistipps.chip.de/windows-10-offline-update-durchfuehren-so-ge ...
Würde aber erstmal nach Fehlern scannen und die beheben lassen - so fern möglich. Dann weiter sehen.

Eigenartig. Bekomme genau diesen Fehler, wenn ich es in einer nicht-admin PS probiere:
Remove-Item "C:\path\to\dir" -Recurse -Force
Was mit ""?
Remove-Item "C:\Windows\SoftwareDistribution\Download\*" -Force -Recurse
Oben die PowerShell Scripte kann man auch laden/ modifizieren. Oder du klaust dir da die Teile raus.
Ich sehe es auch gerade nicht.
Das hier hab ich oben schon erwähnt! Ist nur eine PS Datei und die kann man so starten! Nicht interaktiv. Ausgabe ist nur was es gerade tut und Reboot Hinweis.
Da wird der Ordner umbenannt. Kannst du das nciht einfach integrieren? Du kannst die PS1 ja direkt laden, bzw. speichern. Der Inhalt ist ja Klartext. Wenn dir die DLL Reg zu viel ist, schmeiß den Part raus. ABER das Ding rennt wie eine Eins...
https://www.powershellgallery.com/packages/Reset-WindowsUpdate/1.20/Cont ...
update-fix.ps1 hab ich es benannt. Selbst das ist egal. Das sollte doch eig. vollkommen reichen und auf keinen "Hammer" bei dir laufen.
Write-Host "3. Renaming the Software Distribution and CatRoot Folder..."
Rename-Item $env:systemroot\SoftwareDistribution SoftwareDistribution.bak -ErrorAction SilentlyContinue
Rename-Item $env:systemroot\System32\Catroot2 catroot2.bak -ErrorAction SilentlyContinue
Ausgabe:
PS C:\share> .\update_fix.ps1
1. Stopping Windows Update Services...
2. Remove QMGR Data file...
3. Renaming the Software Distribution and CatRoot Folder...
4. Removing old Windows Update log...
5. Resetting the Windows Update Services to defualt settings...
sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
6. Registering some DLLs...
7) Removing WSUS client settings...
FEHLER: Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden.
FEHLER: Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden.
Der Vorgang wurde erfolgreich beendet.
8) Resetting the WinSock...
Der Winsock-Katalog wurde zurückgesetzt.
Sie müssen den Computer neu starten, um den Vorgang abzuschließen.
Aktuelle WinHTTP-Proxyeinstellungen:
DirectAccess (kein Proxyserver).
9) Delete all BITS jobs...
10) Attempting to install the Windows Update Agent...
11) Starting Windows Update Services...
12) Forcing discovery...
Process complete. Please reboot your computer.
PS C:\Windows\system32>

Zitat von @MrHeisenberg:
So, nach langem Testen hab ich den "Fehler" gefunden, das Skript arbeitet wie es soll, könnte man sicherlich schöner verpacken:
Der Ordner wo Windows seine Updates hinlegt wird dadurch geleert.
Der erste Teil stoppt die Dienste welche den Zugriff blockieren, danach wird der Ordner geleert, im weiteren Schritt werden die Dienste wieder gestartet und es wird eine Kontrolle durchgeführt ob die Dienste wieder laufen.
Mein Fehler war dass ich dieses Skript nicht als "System" ausgeführt habe, ich hoffe mit diesem "Stümperhaften" Teil ;) kann ich den einen oder anderen eine Grundlage bieten um ein besseres Teil zu Basteln.
Lieben dank an alle
Grüße
So, nach langem Testen hab ich den "Fehler" gefunden, das Skript arbeitet wie es soll, könnte man sicherlich schöner verpacken:
stop-service -name "bits" -force
stop-service -name "wuauserv" -force
stop-service -name "appidsvc" -force
stop-service -name "cryptsvc" -force
Remove-Item -Force -Recurse C:\Windows\SoftwareDistribution\Download\*
Start-Service -Name "bits"
Start-Service -Name "wuauserv"
Start-Service -Name "appidsvc"
Start-Service -Name "cryptsvc"
get-service "bits"
get-service "wuauserv"
get-service "appidsvc"
get-service "cryptsvc"
Der Ordner wo Windows seine Updates hinlegt wird dadurch geleert.
Der erste Teil stoppt die Dienste welche den Zugriff blockieren, danach wird der Ordner geleert, im weiteren Schritt werden die Dienste wieder gestartet und es wird eine Kontrolle durchgeführt ob die Dienste wieder laufen.
Mein Fehler war dass ich dieses Skript nicht als "System" ausgeführt habe, ich hoffe mit diesem "Stümperhaften" Teil ;) kann ich den einen oder anderen eine Grundlage bieten um ein besseres Teil zu Basteln.
Lieben dank an alle
Grüße
Um das ganze ein bisschen zu komprimieren:
$dienste = "bits","wuauserv","appidsvc","cryptsvc"
Stop-Service $dienste -force
Remove-Item -Force -Recurse C:\Windows\SoftwareDistribution\Download\*
Start-Service $dienste
Get-Service $dienste
Zitat von @MrHeisenberg:>
Wär eine Option, nur ist mein Problem dass ich ein PS-Skript brauche um unser RMM-Tool zu füttern...
Wär eine Option, nur ist mein Problem dass ich ein PS-Skript brauche um unser RMM-Tool zu füttern...
Darf man fragen, welches RMM?