Catulize.de
Y2K22-Fehler: Fix-Script von MS veröffentlicht

Geschrieben am 03.01.2022


Microsoft hat seinen Techcommunity-Eintrag aktualisiert, und einen Automated Script (ResetScanEngine) für das Y2K22-Problem veröffentlicht. Doch in einigen Fällen konnten wir selbst feststellen, dass auch dieser nicht ganz korrekt durchgeführt werden kann.


Was war passiert?

Mails konnten wegen eines "Datumsfehlers" nicht mehr transportiert werden. Die Microsoft Scan Engine FIP-FS kann nicht geladen werden – und in den Protokollen findet sich das Ereignis:

The FIP-FS "Microsoft" Scan Engine failed to load. PID: 39268, Error Code: 0x80004005. Error Description: Can't convert "2201010003" to long. / Event ID 5300


Shit. Pünktlich zu Neujahr geht nichts mehr.


Der User u/FST-Lane hat auf diesem Reddit-Post eigentlich alles zu dem Bug in kürze erklärt. Hier haben wir das für euch Übersetzt:

Der Typ "long" lässt Werte bis zu 2.147.483.647 zu. Es scheint, dass Microsoft die ersten beiden Zahlen der Update-Version verwendet, um das Jahr des Updates zu bezeichnen. Als das Jahr 2021 war, lauteten die ersten beiden Zahlen "21", und alles war in Ordnung. Jetzt, wo wir das Jahr 2022 (GMT) haben, wäre die Update-Version, umgerechnet in einen "Long"-Datentyp, 2.201.01.001 - was über dem maximalen Wert des "Long"-Datentyps liegt. @Microsoft: Wenn Sie es in einen 'unsigned long' ändern, dann ist der Maximalwert 4.294.967.295 und wir können bis zum Jahr 2043 ruhig schlafen!


Was, wenn das Skript nicht ganz funktioniert:

Wir konnten an einigen Exchange 2019 Instanzen folgenden Fehler während dem Ausführen des Scripts feststellen:


C:\Program Files\Microsoft\Exchange Server\V15\Scripts\Update-MalwareFilteringServer.ps1 : Fehler beim Starten des
Updates für das Antischadsoftware-Modul.
In C:\Users\adm.nalbant\Downloads\Reset-ScanEngineVersion.ps1:78 Zeichen:13
+             & $updateScriptPath $fqdn
+             ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Update-MalwareFilteringServer.ps1


Um das zu beheben, hilft folgende Vorgehensweise:

  • Sicherstellen, dass Exchange PowerShell als Administrator gestartet wurde
  • Add-PSSnapin microsoft.forefront.filtering.management.powershell
  • Start-EngineUpdate
  • Get-EngineUpdateInformation


Nun steht bei "UpdateStatus": UpdateInProgress

Der letzte Befehl "Get-EngineUpdateInformation" kann immer wieder abgerufen werden und zeigt den aktuellen Zustand an. Sobald die folgenden Daten erscheinen, lief das Update korrekt:

Engine            : Microsoft
LastChecked       : 01.03.2022 12:26:15  +01:00
LastUpdated       : 01.03.2022 12:25:17  +01:00
EngineVersion : 1.1.18800.4
SignatureVersion : 1.355.1227.0
SignatureDateTime : 01.01.2022 12:29:06  +01:00
UpdateVersion : 2112330002
UpdateStatus      : UpdateAttemptNoUpdate

Dieser Vorgang kann ziemlich viel Zeit in Anspruch nehmen, abhängig von der Performance der Maschine, als auch der Internetgeschwindigkeit. Anschließend muss der Server zwingend Neugestartet werden.