Exchange Server Warteschlange wird nicht abgearbeitet

Anfang 2022 hatte Microsoft für alle on-premises Exchange Kunden ein spezielles Geschenk: Die Warteschlangen der Mailserver werden nicht mehr abgearbeitet.

Im Eventlog findet man:

  • Event ID 5300
    The FIP-FS „Microsoft“ Scan Engine failed to load. PID: 21744, Error Code: 0x80004005. Error Description: Can’t convert „2201010006“ to long.
  • Event ID 1106
    The FIP-FS Scan Process failed initialization. Error: 0x80004005. Error Details: Unspecified error

Unspecified error ist cool, weil es einem keinen Hinweis gibt, was wirklich schief läuft. Egal ob es ein „New-year-bug“ oder (was viele vermuten) Microsoft’s Versuch ist, die on-premises Kunden in die Cloud zu zwingen, die Lösung dafür habe ich in diesem Artikel zusammengeschrieben. Im Großen und Ganzen muss man nur die Scan Engine deaktivieren / resetten:

Lösung 1: Reparatur per Hand

Schritt 1: Anti-Malware Scan deaktivieren
Microsoft hat hierfür ein Script mit der Exchange Installation bereits mitgeliefert:

& $env:ExchangeInstallPath\Scripts\Disable-Antimalwarescanning.ps1

Code-Sprache: PowerShell (powershell)

Schritt 2: Antimalware auf BYPASS setzen – auf jedem Server

Set-MalwareFilteringServer <strong><YOURSERVERNAME></strong> -BypassFiltering $true
Code-Sprache: PowerShell (powershell)

Schritt 3: Neustart des Transport Service

Restart-Service MSExchangeTransport -Force
Code-Sprache: PowerShell (powershell)

Schritt 4: Der Queue beim schrumpfen zusehen

Get-Queue
Code-Sprache: PowerShell (powershell)

Man kann auch über den Queue Viewer in der mmc beobachten.

Schritt 5: Die Scan engine neu starten und updaten (Die Sripte sind auch im Ordner $env:ExchangeInstallPath\Scripts\ )

Set-MalwareFilteringServer <strong><YOURSERVERNAME></strong> -BypassFiltering $false
Update-MalwareFilteringServer <strong><YOURSERVERNAME></strong>
Code-Sprache: PowerShell (powershell)

Schritt 6: Engine Version überprüfen und sicherstellen, dass die Queue nicht wieder anwächst

Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell
Get-EngineUpdateInformation
Get-Queue
Code-Sprache: PowerShell (powershell)

Die UpdateVersion muss Version 2112330001 oder höher sein um das Problem zukünftig zu vermeiden. Ist dies nicht der Fall, oder falls die Queue wieder anfängt zu wachsen, dann muss man die Engine wieder deaktivieren. In diesem Fall sollte ein individueller Fix in der eigenen Testumgebung erarbeitet werden.

Lösung 2: Automatisierte Reparatur

Microsoft bietet ein Reparaturkit an: https://aka.ms/ResetScanEngineVersion. Dieses Script muss ausgeführt werden. Bitte nicht vergessen, vorher die Execution Policy auf RemoteSigned zu setzen:

Set-ExecutionPolicy RemoteSigned
Code-Sprache: PowerShell (powershell)

Mehr Details zu diesem Phänomen finden sich in der offiziellen Doku von Microsoft: Email Stuck in Exchange On-premises Transport Queues – Microsoft Tech Community

Published by Andreas

Gründer von M365 Evangelists Cloud-Architekt, Strategieberater, Consultant für Microsoft Technologien Graph API Enthusiast, PowerShell Enthusiast