Les mises à jour Windows Server d’octobre 2026 nécessitent une vigilance particulière sur les infrastructures Microsoft Exchange Server. Microsoft indique que certains serveurs Exchange Server 2016, Exchange Server 2019 et Exchange Server Subscription Edition peuvent devenir instables après l’installation de certaines mises à jour Windows Server. Les symptômes rapportés concernent notamment Outlook on the Web, le transport des messages et les groupes de disponibilité de bases de données, ou DAG.
1. Vérifier la version de Windows Server
La première étape consiste à identifier précisément le système d’exploitation hébergeant Exchange.
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber
2. Vérifier la présence des KB concernées
Rechercher les correctifs Windows identifiés dans l’alerte Microsoft. Important 😉
Get-HotFix -Id KB5126646,KB5126655,KB5126651,KB5126868 -ErrorAction SilentlyContinue
Si elle ne sont pas installées alors vous pouvez souffler un peu.
3. Contrôler la santé générale d’Exchange
Interroger Managed Availability afin d’identifier les composants présentant un état différent de Healthy.
Get-ServerHealth -Identity $env:COMPUTERNAME | Where-Object {$_.AlertValue -ne « Healthy »} | Format-Table HealthSetName,Name,AlertValue -AutoSize
Get-HealthReport -Identity $env:COMPUTERNAME
4. Vérifier les services Exchange
Effectuer un contrôle fonctionnel des services attendus par les rôles Exchange installés.
Test-ServiceHealth
Get-Service MSExchange* | Sort-Object Status,Name | Format-Table Status,Name,DisplayName -AutoSize
5. Contrôler les files d’attente de transport
Rechercher une accumulation ou une croissance progressive des files d’attente, symptôme prioritaire dans le contexte de cette alerte.
Get-Queue | Where-Object {$_.MessageCount -gt 0} | Sort-Object MessageCount -Descending |
Format-Table Identity,Status,MessageCount,NextHopDomain -AutoSize
Conseil d’exploitation Répéter ce contrôle durant la journée. Une photographie unique juste après le patching ne suffit pas à exclure une dégradation progressive sous charge
6. Vérifier l’état des bases Exchange
Contrôler l’état des copies de bases, les longueurs des files de copie et de relecture ainsi que l’état de l’index de contenu.
Get-MailboxDatabaseCopyStatus -Server $env:COMPUTERNAME |
Format-Table Name,Status,CopyQueueLength,ReplayQueueLength,ContentIndexState -AutoSize
7. Vérifier le DAG et la réplication
Sur chaque membre du DAG, vérifier la santé de la réplication et des composants haute disponibilité.
Test-ReplicationHealth -Identity $env:COMPUTERNAME
8. Rechercher l’Event ID 1006
Rechercher les événements récents du journal Application et examiner leur contenu pour confirmer leur lien avec le problème étudié.
Get-WinEvent -FilterHashtable @{
LogName=’Application’
Id=1006
StartTime=(Get-Date).AddDays(-2)
} -ErrorAction SilentlyContinue |
Select-Object TimeCreated,Id,ProviderName,LevelDisplayName,Message |
Format-List
9. Rechercher MapiExceptionMdbOffline
Rechercher directement la chaîne d’erreur associée aux problèmes OWA décrits dans l’alerte.
Get-WinEvent -FilterHashtable @{
LogName=’Application’
StartTime=(Get-Date).AddDays(-2)
} -ErrorAction SilentlyContinue |
Where-Object {$_.Message -match « MapiExceptionMdbOffline »} |
Select-Object TimeCreated,Id,ProviderName,Message |
Format-List
10. Vérifier fonctionnellement OWA
Les commandes PowerShell doivent être complétées par une vérification fonctionnelle d’Outlook on the Web. Il convient de confirmer que la page d’authentification est accessible et qu’une ouverture de session utilisateur aboutit normalement.
11. Script de contrôle regroupé
Le bloc suivant regroupe les principales commandes à exécuter sur chaque serveur Exchange depuis l’Exchange Management Shell avec les droits appropriés.
Write-Host « `n=== WINDOWS / KB === » -ForegroundColor Cyan
Get-ComputerInfo | Select-Object WindowsProductName,WindowsVersion,OsBuildNumber
Get-HotFix -Id KB5126646,KB5126655,KB5126651,KB5126868 -ErrorAction SilentlyContinue
Write-Host « `n=== EXCHANGE HEALTH === » -ForegroundColor Cyan
Get-ServerHealth -Identity $env:COMPUTERNAME |
Where-Object {$_.AlertValue -ne « Healthy »} |
Format-Table HealthSetName,Name,AlertValue -AutoSize
Write-Host « `n=== SERVICES === » -ForegroundColor Cyan
Test-ServiceHealth
Write-Host « `n=== DATABASES / DAG === » -ForegroundColor Cyan
Get-MailboxDatabaseCopyStatus -Server $env:COMPUTERNAME |
Format-Table Name,Status,CopyQueueLength,ReplayQueueLength,ContentIndexState -AutoSize
Write-Host « `n=== REPLICATION === » -ForegroundColor Cyan
Test-ReplicationHealth -Identity $env:COMPUTERNAME
Write-Host « `n=== TRANSPORT QUEUES === » -ForegroundColor Cyan
Get-Queue | Where-Object {$_.MessageCount -gt 0} |
Sort-Object MessageCount -Descending |
Format-Table Identity,Status,MessageCount,NextHopDomain -AutoSize
Write-Host « `n=== EVENT ID 1006 === » -ForegroundColor Cyan
Get-WinEvent -FilterHashtable @{
LogName=’Application’; Id=1006; StartTime=(Get-Date).AddDays(-2)
} -ErrorAction SilentlyContinue |
Select-Object TimeCreated,ProviderName,Message | Format-List
Write-Host « `n=== MapiExceptionMdbOffline === » -ForegroundColor Cyan
Get-WinEvent -FilterHashtable @{
LogName=’Application’; StartTime=(Get-Date).AddDays(-2)
} -ErrorAction SilentlyContinue |
Where-Object {$_.Message -match « MapiExceptionMdbOffline »} |
Select-Object TimeCreated,Id,ProviderName,Message | Format-List
12. Interpréter les résultats
Situation plutôt rassurante
- Aucun événement correspondant à MapiExceptionMdbOffline.
- Absence d’Event ID 1006 lié au problème.
- OWA accessible et ouverture de session fonctionnelle.
- Pas d’accumulation anormale des files d’attente.
- Bases Exchange et copies dans leur état attendu.
- Réplication du DAG fonctionnelle.
- Absence de nouvelle dégradation significative dans Managed Availability.
Situation à investiguer immédiatement
- OWA indisponible ou erreurs de connexion.
- Présence de MapiExceptionMdbOffline.
- Event ID 1006 correspondant au problème.
- Files d’attente augmentant progressivement.
- Ralentissement marqué du flux des messages.
- Problèmes de communication entre membres du DAG ou de quorum.
- Amélioration temporaire après redémarrage, suivie d’une réapparition.
13. Remédiation si le problème est confirmé
Précaution Microsoft recommande de ne pas désinstaller les mises à jour Windows Server d’octobre 2026.
La remédiation publiée consiste à créer la valeur de registre suivante depuis une invite de commandes élevée, puis à redémarrer le serveur Exchange et à surveiller une éventuelle réapparition du problème :
reg add « HKLM\SOFTWARE\Microsoft\Rpc » /v EpmapSavedContextCap /t REG_DWORD /d 65536 /f
Dans un DAG, cette intervention doit être intégrée à une procédure de maintenance maîtrisée, serveur par serveur, en vérifiant l’état de la plateforme entre les redémarrages.
Conclusion
La validation d’un patching Exchange ne doit pas se limiter à la réussite de l’installation des correctifs. Le contrôle doit couvrir toute la chaîne : Windows, services Exchange, Managed Availability, bases, DAG, transport, OWA et journaux Windows.
Dans le cas présent, les trois indicateurs prioritaires sont l’évolution des files d’attente au cours de la journée, l’état de la réplication et du DAG, ainsi que l’apparition de MapiExceptionMdbOffline ou de l’Event ID 1006.
Source officielle
Microsoft Exchange Team, « Exchange servers may become unstable after installation of October 2026 Windows updates », 16 octobre 2026.
