Exchange Server : les vérifications PowerShell à effectuer après les mises à jour Windows d’octobre 2026


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.

Source officielle

Microsoft Exchange Team, « Exchange servers may become unstable after installation of October 2026 Windows updates », 16 octobre 2026.

https://techcommunity.microsoft.com/blog/exchange/exchange-servers-may-become-unstable-after-installation-of-october-2026-windows-/4565382

Votre commentaire