camelcase
Goto Top

Skript zur automatischen Installation des fehlerhaften Updates KB5037765

Moin,

wie ihr bestimmt schon wisst ist das Update KB5037765 fehlerhaft und lässt sich ohne das en-US Sprachpaket nicht installieren. Inzwischen ist das Problem auch bei Microsoft bekannt:

https://learn.microsoft.com/en-us/windows/release-health/status-windows- ...

Da es gravierende Sicherheitslücken gibt, die durch dieses Update gefixt werden, werde ich das Update dennoch installieren und nicht auf einen Fix von MS warten. Um das ganze etwas leichter zu machen, habe ich ein Skript erstellt, das dies weitestgehend automatisiert.

Das Skript ist so ausgelegt, dass der Server keine Internetverbindung braucht, und die benötigten Daten von einem anderen Server per Netzwerkshare bereitgestellt werden.

Link zum Skript:
https://github.com/t-klemenc/Install-KB5037765

Anregungen/Kritik/PRs usw. sind natürlich gern gesehen.

Kurzanleitung:

  • Dateien runterladen:
Update:
https://catalog.s.download.windowsupdate.com/d/msdownload/update/softwar ...

ISO mit Sprachpaketen
https://software-static.download.prss.microsoft.com/pr/download/17763.1. ...

  • .msu im Netzwerkshare ablegen
  • ISO mounten/extrahieren und die Datei Microsoft-Windows-Server-Language-Pack_x64_en-us.cab in das Share kopieren
  • Das Skript auf dem Server ausführen. Share mit -SharePath \\your-server\share spezifizieren -NoReboot anfügen falls kein automatischer Neustart erwünscht ist
  • Logdatei checken unter C:\KB5037765-<timestamp>.txt

Wenn gewünscht, kann das Skript per GPP als soforige/geplante Aufgabe verteilt werden, getestet wurde mit:

Command powershell.exe
Arguments -ep bypass -WindowStyle hidden -file "c:\Install-KB5037765.ps1" -SharePath "\\s1\share

Das Skript wurde nach bestem Wissen und Gewissen getestet, und läuft auf meinen Servern einwandfrei. Dennoch kann ich keine Garantien geben ;)

Kamel

Content-ID: 7671381438

Url: https://administrator.de/tutorial/skript-zur-automatischen-installation-des-fehlerhaften-updates-kb5037765-7671381438.html

Ausgedruckt am: 22.12.2024 um 03:12 Uhr

9697748851
9697748851 16.05.2024 um 09:59:49 Uhr
Goto Top
Großes Kino! Danke Dir für deine Mühen!
Coreknabe
Coreknabe 16.05.2024 um 10:01:31 Uhr
Goto Top
Vielen Dank!
Penny.Cilin
Penny.Cilin 16.05.2024 um 10:58:40 Uhr
Goto Top
Ich schließe mich den beiden Vorrednern an:
Vielen Dank. face-smile

Gruss Penny.
watIsLos
watIsLos 16.05.2024 um 12:15:55 Uhr
Goto Top
Hey, ich habe gerade dein Skript trotzdem mal ausrobiert, leider macht er nicht weiter...
Habe ich was falsch gemacht?

screenshot 2024-05-16 121419


333
CamelCase
CamelCase 16.05.2024 um 12:16:59 Uhr
Goto Top
Wie lange läuft es schon? Das Sprachpaket braucht mehrere Minuten.
watIsLos
watIsLos 16.05.2024 um 12:18:22 Uhr
Goto Top
Ich habe die Dateien Lokal auf C:\ps\ abgelegt und mit der Zeile gestartet:

.\Install-KB5037765.ps1 -SharePath c:\ps\ add -NoReboot

Dauert 10 Minuten und CPU hat nichts zutun...
Ich starte mal den Server neu
CamelCase
CamelCase 16.05.2024 aktualisiert um 12:19:50 Uhr
Goto Top
Ich starte mal den Server neu

Warte noch. Ist die lpksetup im taskmanger noch zu finden? Wenn ja, noch abwarten.
CamelCase
CamelCase 16.05.2024 aktualisiert um 12:28:21 Uhr
Goto Top
Falls die PS-Konsole im "Auswählen"-Modus ist, einmal in die PS klicken und Enter drücken
lkixjwgidb
(genereller PS-Tipp)


.\Install-KB5037765.ps1 -SharePath c:\ps\ add -NoReboot
das "add" muss weg

.\Install-KB5037765.ps1 -SharePath c:\ps\ -NoReboot


.EXAMPLE
    .\Install-Update.ps1 -SharePath "\\server\share"  
    Runs the script with the specified share path, allowing automatic reboot.

.EXAMPLE
    .\Install-Update.ps1 -SharePath "\\server\share" -NoReboot  
    Runs the script with the specified share path and the `-NoReboot` parameter, skipping automatic reboot.
watIsLos
watIsLos 16.05.2024 um 14:33:11 Uhr
Goto Top
Er ist jetzt durchgelaufen, aber nicht erfolgreich...


Stop-Install : 2024-05-16 12:34:00 - Unknown exitcode: -2145124330 (0x80240016). Please check log if update installed 
successfully.
In C:\ps\Install-KB5037765.ps1:125 Zeichen:5
+     Stop-Install "Unknown exitcode: $($process.ExitCode) (0x$("{0:X}" ...  
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Stop-Install
Stop-Install : 2024-05-16 12:34:00 - Unknown exitcode: -2145124330 (0x80240016). Please check log if update installed
successfully.
In C:\ps\Install-KB5037765.ps1:125 Zeichen:5
+     Stop-Install "Unknown exitcode: $($process.ExitCode) (0x$("{0:X}" ...  
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Stop-Install

**********************
Ende der Windows PowerShell-Aufzeichnung
Endzeit: 20240516123400


screenshot 2024-05-16 143145

In der Ereignisanzeige habe ich noch das gefunden:

fehler
watIsLos
watIsLos 16.05.2024 um 14:38:59 Uhr
Goto Top
Zur Info, habe das add jetzt rausgenommen ... hat wohl funktioniert.

screenshot 2024-05-16 143817
9697748851
9697748851 16.05.2024 aktualisiert um 14:41:28 Uhr
Goto Top
Joar, meistens so, wenn man es richtig macht (laut Wiki). Wie kamst Du den auf das Add?!

Für die Zukunft: Nutze bitte Codetags.

Gruß
watIsLos
watIsLos 16.05.2024 aktualisiert um 14:48:39 Uhr
Goto Top
Hierher habe ich das.... zu schnell gelesen... face-wink

"Run the script on your servers, manually or using scheduled tasks/GPO/etc. Specify share path with -SharePath \\your-server\share and add -NoReboot if you don't want the server to automatically reboot."


Also auf dem ersten Server hat es funktioniert!

Auf dem zweiten bekomme ich diese Meldung:

TimeCreated  : 16.05.2024 14:41:46
ProviderName : Microsoft-Windows-Servicing
Id           : 3
Message      : Der Status des Pakets SP1 Language Pack konnte nicht in "Installiert" geändert werden. Status:  
               0x80073701.

2024-05-16 14:41:47 - Checking if language pack has installed successfully
2024-05-16 14:41:47 - Installed language packs:
2024-05-16 14:41:47 - de-DE
Stop-Install : 2024-05-16 14:41:47 - Language pack installation seems to have failed, aborting.
In C:\ps\Install-KB5037765.ps1:105 Zeichen:9
+         Stop-Install "Language pack installation seems to have failed ...  
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Stop-Install
Stop-Install : 2024-05-16 14:41:47 - Language pack installation seems to have failed, aborting.
In C:\ps\Install-KB5037765.ps1:105 Zeichen:9
+         Stop-Install "Language pack installation seems to have failed ...  
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Stop-Install

**********************
Ende der Windows PowerShell-Aufzeichnung
Endzeit: 20240516144147
**********************


fehl
9697748851
9697748851 16.05.2024 aktualisiert um 15:04:10 Uhr
Goto Top
WriteError: Prozess evtl gesperrt? Platte voll? Kein Schreibzugriff? Pending Updates?.. mal so ins Blaue...
Edit: errorcode nicht wahrgenommen :D
CamelCase
CamelCase 16.05.2024 aktualisiert um 15:03:48 Uhr
Goto Top
Zitat von @watIsLos:

Zur Info, habe das add jetzt rausgenommen ... hat wohl funktioniert.

Schön, dass es wenigstens einmal funktioniert hat face-smile

Message : Der Status des Pakets SP1 Language Pack konnte nicht in "Installiert" geändert werden. Status: 0x80073701.

0x80073701 schreit nach kurzem Googlen nach fehlerhaften Windows-Komponenten.

Versuch mal

Dism /online /cleanup-image /startcomponentcleanup
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /CheckHealth
Dism /Online /Cleanup-Image /RestoreHealth

Und dann nochmal das Skript
CamelCase
CamelCase 16.05.2024 um 15:04:56 Uhr
Goto Top
Zitat von @9697748851:

WriteError: Prozess evtl gesperrt? Platte voll? Kein Schreibzugriff? Pending Updates?.. mal so ins Blaue...
Edit: errorcode nicht wahrgenommen :D

Write-Error heißt nur die Funktion, die den Fehlertext ausspuckt (https://github.com/t-klemenc/Install-KB5037765/blob/7972b7b624ebe660f592 ..)
watIsLos
watIsLos 16.05.2024 um 15:07:29 Uhr
Goto Top
Ja, ich bin sehr froh, dass es schon auf einem Server funktioniert hat. Also schon mal vielen Dank!
Mich würde auch noch interessieren, was genau hier anders gemacht wird, als wenn man es manuell macht?
watIsLos
watIsLos 16.05.2024 aktualisiert um 15:12:20 Uhr
Goto Top
@9697748851

Nein, Platte ist nicht voll, auch sonst keine Updates am ausführen!

Ich habe den Server Neugestartet und DISM ausgeführt:
Dism /online /cleanup-image /startcomponentcleanup
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /CheckHealth
Dism /Online /Cleanup-Image /RestoreHealth

Leider kommt danach immer noch die gleiche Fehlermeldung...
erikro
erikro 16.05.2024 um 15:10:21 Uhr
Goto Top
Moin,

warum macht man sowas? Das Update ist Murks. Warum sollte ich mir die Mühe machen, es auf Teufel komm raus zu installieren?

my 2 cents
CamelCase
CamelCase 16.05.2024 um 15:13:13 Uhr
Goto Top
Zitat von @watIsLos:

Ja, ich bin sehr froh, dass es schon auf einem Server funktioniert hat. Also schon mal vielen Dank!
Mich würde auch noch interessieren, was genau hier anders gemacht wird, als wenn man es manuell macht?

Eigentlich nichts besonderes, außer dass die Daten halt schon vorher heruntergeladen werden. So schließt man schonmal Internet/Proxy/Firewall-etc Probleme aus. Dann wird auch definitiv die richtigen Pakete installiert, so kann man sich nicht verklicken. Wenn die richtigen Dateien fehlen, gibt das Skript entsprechende Fehler aus.

Leider kommt danach immer noch die gleiche Fehlermeldung...

Hmm dann weiß ich erstmal auch nicht weiter. Anhaltspunkte könnte man z:B. in diesen Logs finden:

C:\Windows\Logs\CBS\CBS.log
C:\Windows\Logs\DISM\dism.log

In solchem fällen mache ich das so dass ich die alten Logs umbenenne, dann versuche das Update zu installieren, und dann die Logs durchforsten.
CamelCase
CamelCase 16.05.2024 um 15:17:32 Uhr
Goto Top
Zitat von @erikro:

Moin,

warum macht man sowas? Das Update ist Murks. Warum sollte ich mir die Mühe machen, es auf Teufel komm raus zu installieren?

my 2 cents

Ich hab das hauptsächlich wegen CVE-2024-30040 und CVE-2024-30051 gemacht (+ die anderen 59 Lücken die in Windows dadurch geschlossen werden) Muss ja selber für sich und seine Umgebung abwägen.
Und ein Sprachpaket nachzuinstallieren ist ja nun keine große Sache (Wenn nicht gerade der Komponentenspeicher im Eimer ist face-smile) .
watIsLos
watIsLos 16.05.2024 um 15:23:51 Uhr
Goto Top
In der CBS.log habe ich diese Fehlermeldungen gefunden:


2024-05-16 15:19:12, Info                  CBS    Failed to extract file TOC.xml from cabinet \\?\C:\ps\Microsoft-Windows-Server-Language-Pack_x64_en-us.cab [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]


2024-05-16 15:19:12, Info                  DPX    Extraction of file: update.ses failed because it is not present in the container (\\?\C:\ps\Microsoft-Windows-Server-Language-Pack_x64_en-us.cab).
2024-05-16 15:19:12, Info                  DPX    DpxException hr=0x80070002 code=0x020109
2024-05-16 15:19:12, Info                  CBS    Not able to add file to extract: update.ses [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]


2024-05-16 15:19:24, Info                  CBS    Appl: Package: Microsoft-Windows-IIS-WebServer-Core-Package~31bf3856ad364e35~amd64~~10.0.17763.1, Update: IIS-HttpErrors, Applicable: NeedsParent, Disposition: Staged

2024-05-16 15:19:26, Info                  CBS    Appl: DetectUpdate, Package: Microsoft-Windows-NetFx4-WCF-OC-Package~31bf3856ad364e35~amd64~en-US~10.0.17763.1, Remote Parent: NetFx4, Parent Missing (ERROR_FILE_NOT_FOUND), non-critical error, ignored, check case sensitivity

IIS-Management-Remoting, PinDeployment: amd64_microsoft-windows-i..oyment-languagepack_31bf3856ad364e35_10.0.17763.1_en-us_5d213f00dcb3e153
2024-05-16 15:19:31, Info                  CBS    Exec: Resolving Package: Microsoft-Windows-IIS-WebServer-Core-Package~31bf3856ad364e35~amd64~en-US~10.0.17763.1, Update: IIS-HttpErrors
2024-05-16 15:19:31, Info                  CBS    Exec: Resolving Package: Microsoft-Windows-IIS-WebServer-Core-Package~31bf3856ad364e35~amd64~en-US~10.0.17763.1, Update: IIS-HttpErrors, PinDeployment: amd64_microsoft-windows-i..oyment-languagepack_31bf3856ad364e35_10.0.17763.1_en-us_abe2143a8e00acd5


2024-05-16 15:19:31, Info                  CBS    Exec: Resolving Package: Microsoft-Windows-IIS-WebServer-Core-ServerCommon-Package~31bf3856ad364e35~amd64~en-US~10.0.17763.1, Update: IIS-HttpErrors-ServerCommon, PinDeployment: amd64_microsoft-windows-w..oyment-languagepack_31bf3856ad364e35_10.0.17763.1_en-us_e2f3eeda2fdcfc07
9697748851
9697748851 16.05.2024 um 15:25:31 Uhr
Goto Top
Ich hänge mich hier auf:
ERROR_FILE_NOT_FOUND

Findet der Server das Share vielleicht nicht? Ist das File verschoben worden oder sowas? Kann der Server überhaupt lesend auf das Share zugreifen?

Gruß
CamelCase
CamelCase 16.05.2024 aktualisiert um 15:30:46 Uhr
Goto Top
2024-05-16 15:19:12, Info                  CBS    Failed to extract file TOC.xml from cabinet \\?\C:\ps\Microsoft-Windows-Server-Language-Pack_x64_en-us.cab [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]

Datei beim Kopieren beschädigt? Vielleicht nochmal kopieren.
Also das Sprachpaket.
watIsLos
watIsLos 16.05.2024 um 15:29:15 Uhr
Goto Top
Das ist das kuriose, die Daten sind alle vorhanden und er kann darauf auch Zugreiffen:
PS ist im Admin Modus gestartet

.\Install-KB5037765.ps1 -SharePath c:\ps\ -NoReboot

screenshot 2024-05-16 152757
9697748851
9697748851 16.05.2024 aktualisiert um 15:33:34 Uhr
Goto Top
Datei beim Kopieren korrumpiert? Vielleicht nochmal kopieren.
Auch möglich. Würde ich auch probieren.

ferwfewfew

Zugriff blockiert?
maybe?
watIsLos
watIsLos 16.05.2024 um 15:39:41 Uhr
Goto Top
Bei mir gibt es die Option gar nicht...

screenshot 2024-05-16 153919
9697748851
9697748851 16.05.2024 um 15:44:30 Uhr
Goto Top
Okay, aber irgendwie heißt der Ordner nun anders? (pss vs ps) Beabsichtigt? falls ja: Eingabe angepasst?
watIsLos
watIsLos 16.05.2024 um 15:45:48 Uhr
Goto Top
Ja, ich habe mal den Ordner umgeändert und die Dateien neu runtergeladen... das hat aber nichts gebracht.
watIsLos
watIsLos 16.05.2024 um 16:09:55 Uhr
Goto Top
PS C:\pss> .\Install-KB5037765.ps1 -SharePath c:\pss\ -NoReboot
Die Aufzeichnung wurde gestartet. Die Ausgabedatei ist "C:\KB5037765-20240516T160811.txt".  
2024-05-16 16:08:11 - Script startet at 20240516T160811
2024-05-16 16:08:11 - Checking if en-US language pack is installed
2024-05-16 16:08:11 - Installed language packs:
2024-05-16 16:08:11 - de-DE
2024-05-16 16:08:11 - en-US language pack is not installed, trying to install.
2024-05-16 16:08:11 - Searching for language pack
2024-05-16 16:08:11 - Language pack found at c:\pss\Microsoft-Windows-Server-Language-Pack_x64_en-us.cab
2024-05-16 16:08:11 - Installing en-US language pack from c:\pss\.

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName                                                                                        
-------  ------    -----      -----     ------     --  -- -----------                                                                                        
     25       3      412       1096       0,00   9788   2 lpksetup                                                                                           
2024-05-16 16:08:40 - Finished installing language pack.




TimeCreated  : 16.05.2024 16:08:38
ProviderName : Microsoft-Windows-Servicing
Id           : 3
Message      : Der Status des Pakets SP1 Language Pack konnte nicht in "Installiert" geändert werden. Status: 0x80073701.  



2024-05-16 16:08:40 - Checking if language pack has installed successfully
2024-05-16 16:08:40 - Installed language packs:
2024-05-16 16:08:40 - de-DE
Stop-Install : 2024-05-16 16:08:40 - Language pack installation seems to have failed, aborting.
In C:\pss\Install-KB5037765.ps1:105 Zeichen:9
+         Stop-Install "Language pack installation seems to have failed ...  
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Stop-Install
 
Die Aufzeichnung wurde beendet. Die Ausgabedatei ist "C:\KB5037765-20240516T160811.txt".  

PS C:\pss> 
watIsLos
watIsLos 16.05.2024 um 16:28:00 Uhr
Goto Top
Auf einem identischen Server, mit gleicher Hardware habe ich den Fehler nicht da lief es reibungslos...
ukulele-7
ukulele-7 17.05.2024 um 08:46:51 Uhr
Goto Top
Super Beitrag für alle die schnell das Update ausrollen wollen / müssen.

Ich würde allerdings auch lieber warten wollen, sonst scheitert das nächste Update weil ich zwei Sprachpakete installiert habe... Gibt es schon eine Info wann MS Abhilfe schafft?
niraxx
niraxx 17.05.2024 um 10:54:10 Uhr
Goto Top
9697748851
9697748851 17.05.2024 um 11:21:38 Uhr
Goto Top
bei heise gibts dazu eine Nachricht:
Liebe spät als nie. Aber ja, nichts Neues darin zu lesen.