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:
https://catalog.s.download.windowsupdate.com/d/msdownload/update/softwar ...
ISO mit Sprachpaketen
https://software-static.download.prss.microsoft.com/pr/download/17763.1. ...
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
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:
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
Please also mark the comments that contributed to the solution of the article
Content-ID: 7671381438
Url: https://administrator.de/contentid/7671381438
Printed on: October 7, 2024 at 22:10 o'clock
33 Comments
Latest comment
Großes Kino! Danke Dir für deine Mühen!
Er ist jetzt durchgelaufen, aber nicht erfolgreich...
In der Ereignisanzeige habe ich noch das gefunden:
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
In der Ereignisanzeige habe ich noch das gefunden:
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ß
Für die Zukunft: Nutze bitte Codetags.
Gruß
Hierher habe ich das.... zu schnell gelesen...
"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:
"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
**********************
WriteError: Prozess evtl gesperrt? Platte voll? Kein Schreibzugriff? Pending Updates?.. mal so ins Blaue...
Edit: errorcode nicht wahrgenommen :D
Edit: errorcode nicht wahrgenommen :D
@9697748851
Nein, Platte ist nicht voll, auch sonst keine Updates am ausführen!
Ich habe den Server Neugestartet und DISM ausgeführt:
Leider kommt danach immer noch die gleiche Fehlermeldung...
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...
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
Ich hänge mich hier auf:
Findet der Server das Share vielleicht nicht? Ist das File verschoben worden oder sowas? Kann der Server überhaupt lesend auf das Share zugreifen?
Gruß
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ß
Datei beim Kopieren korrumpiert? Vielleicht nochmal kopieren.
Auch möglich. Würde ich auch probieren.Zugriff blockiert?
maybe?
Okay, aber irgendwie heißt der Ordner nun anders? (pss vs ps) Beabsichtigt? falls ja: Eingabe angepasst?
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>
bei heise gibts dazu eine Nachricht:
www.heise.de/news/Microsoft-Installationsfehler-auf-Server-2019-der-Mai-Sicherheitsupdates-9722097.html
www.heise.de/news/Microsoft-Installationsfehler-auf-Server-2019-der-Mai-Sicherheitsupdates-9722097.html
bei heise gibts dazu eine Nachricht:
Liebe spät als nie. Aber ja, nichts Neues darin zu lesen.