ANAVEM
Référence
Languageen
Comment nettoyer les certificats de l'application hybride Office 365 Exchange Online

Comment nettoyer les certificats de l'application hybride Office 365 Exchange Online

Supprimez les certificats obsolètes de l'application Office 365 Exchange Online en utilisant des scripts PowerShell pour sécuriser votre environnement Exchange hybride et prévenir les problèmes d'authentification.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
16 mars 2026 12 min 6
hardexchange-online 8 étapes 12 min

Pourquoi nettoyer les certificats d'application Office 365 Exchange Online ?

Dans les environnements Exchange hybrides, l'accumulation de certificats dans l'application Office 365 Exchange Online est un problème courant de sécurité et de maintenance. Chaque fois que vous exécutez l'Assistant Configuration Hybride ou mettez à jour les certificats, de nouvelles informations d'identification de certificat sont ajoutées au principal de service Exchange Online partagé, mais les anciennes sont rarement supprimées automatiquement.

Cet amas de certificats crée plusieurs problèmes : une surface d'attaque accrue due aux certificats expirés, de la confusion lors du dépannage et des conflits d'authentification potentiels. Avec la dépréciation par Microsoft du paramètre Credential dans Exchange Online PowerShell (effective en juin 2026), une gestion appropriée des certificats est devenue encore plus critique pour les déploiements hybrides.

Quels types de certificats nécessitent un nettoyage régulier ?

L'application Exchange Online accumule généralement trois types de certificats : les certificats d'authentification OAuth utilisés pour la communication serveur à serveur, les certificats de jeton S2S hérités des anciennes configurations hybrides, et les certificats expirés des exécutions précédentes de l'Assistant Configuration Hybride. Chacun a un but spécifique, mais les certificats expirés ou inutilisés doivent être supprimés pour maintenir une hygiène de sécurité.

Le script ConfigureExchangeHybridApplication.ps1, disponible dans le dépôt CSS-Exchange de Microsoft, fournit la méthode la plus sûre pour identifier et supprimer ces informations d'identification de certificat. Ce script PowerShell interagit directement avec Azure AD pour gérer le magasin de certificats du principal de service Exchange Online, garantissant un nettoyage approprié sans perturber les services hybrides actifs.

Guide de mise en oeuvre

Procédure complète

01

Se connecter à Exchange Online PowerShell avec l'authentification par certificat

Depuis que Microsoft a déprécié le paramètre Credential dans les versions d'Exchange Online PowerShell publiées après juin 2026, nous utiliserons l'authentification basée sur les certificats. Tout d'abord, connectez-vous à Exchange Online en utilisant votre certificat d'application.

Import-Module ExchangeOnlineManagement

# Connectez-vous en utilisant l'authentification basée sur les certificats
Connect-ExchangeOnline -CertificateThumbprint "YOUR_CERT_THUMBPRINT" -AppId "YOUR_APP_ID" -Organization "yourtenant.onmicrosoft.com"

Remplacez YOUR_CERT_THUMBPRINT par l'empreinte de votre certificat et YOUR_APP_ID par l'ID de votre application enregistrée.

Astuce pro : Utilisez Get-ChildItem Cert:\CurrentUser\My pour lister les certificats disponibles et leurs empreintes si vous n'êtes pas sûr du certificat à utiliser.

Vérification : Exécutez Get-OrganizationConfig | Select-Object Name pour confirmer la connexion réussie.

02

Identifier les certificats actuels dans l'application Exchange Online

Avant de supprimer des certificats, identifiez quels certificats sont actuellement enregistrés avec l'application Office 365 Exchange Online. Nous examinerons le principal de service pour voir tous les certificats associés.

# Se connecter à Azure AD PowerShell
Connect-AzureAD

# Trouver le principal de service Exchange Online
$ExchangeOnlineSP = Get-AzureADServicePrincipal -Filter "DisplayName eq 'Microsoft Exchange Online'"

# Lister tous les certificats associés au principal de service
$ExchangeOnlineSP.KeyCredentials | Select-Object KeyId, Type, Usage, StartDate, EndDate | Format-Table -AutoSize

Cette commande affiche tous les certificats, y compris leur KeyId (dont nous aurons besoin pour la suppression), les dates d'expiration et les types d'utilisation.

Avertissement : Ne supprimez jamais des certificats qui sont encore dans leur période de validité et activement utilisés par des services. Vérifiez toujours l'utilisation des certificats avant de les supprimer.

Vérification : Notez les valeurs KeyId des certificats expirés ou inutilisés qui doivent être supprimés.

03

Téléchargez et préparez le script ConfigureExchangeHybridApplication.ps1

Microsoft fournit le script ConfigureExchangeHybridApplication.ps1 pour gérer les certificats dans des environnements hybrides. Téléchargez ce script depuis le dépôt officiel de Microsoft.

# Créer un répertoire de travail
New-Item -ItemType Directory -Path "C:\ExchangeHybridScripts" -Force
Set-Location "C:\ExchangeHybridScripts"

# Télécharger le script (remplacer par l'URL actuelle de Microsoft)
Invoke-WebRequest -Uri "https://github.com/microsoft/CSS-Exchange/raw/main/Hybrid/ConfigureExchangeHybridApplication.ps1" -OutFile "ConfigureExchangeHybridApplication.ps1"

# Vérifier que le script a été téléchargé avec succès
Get-ChildItem -Name "ConfigureExchangeHybridApplication.ps1"

Le script devrait avoir une taille d'environ 15-20KB. Si le téléchargement échoue, vérifiez votre connexion internet et assurez-vous que l'URL est à jour.

Vérification : Exécutez Get-FileHash .\ConfigureExchangeHybridApplication.ps1 -Algorithm SHA256 pour vérifier l'intégrité du fichier.

04

Exécutez le script pour lister les informations d'identification actuelles du certificat

Avant d'apporter des modifications, utilisez le script pour auditer les informations d'identification des certificats actuels dans l'application Exchange Online. Cela fournit une base de référence des certificats existants.

# Définir la politique d'exécution si nécessaire
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

# Exécuter le script en mode audit pour lister les certificats actuels
.\ConfigureExchangeHybridApplication.ps1 -ListCredentials

# Alternative : Exécuter avec des informations spécifiques au locataire
.\ConfigureExchangeHybridApplication.ps1 -TenantId "your-tenant-id" -ListCredentials

Le script affichera toutes les informations d'identification des certificats actuellement associées à l'application Exchange Online, y compris leurs dates de création, dates d'expiration et identifiants de clé.

Astuce pro : Redirigez la sortie vers un fichier texte pour la tenue de registres : .\ConfigureExchangeHybridApplication.ps1 -ListCredentials | Out-File "certificates-before-cleanup.txt"

Vérification : Examinez la sortie pour identifier les certificats expirés ou qui ne sont plus nécessaires.

05

Supprimer les informations d'identification de certificat spécifiques de l'application Exchange Online

Maintenant, supprimez les certificats obsolètes identifiés à l'aide du script. Vous aurez besoin des valeurs KeyId de l'étape précédente.

# Supprimer un certificat spécifique par KeyId
.\ConfigureExchangeHybridApplication.ps1 -RemoveCredential -KeyId "12345678-1234-1234-1234-123456789012"

# Supprimer plusieurs certificats (remplacer par les KeyIds réels)
$CertsToRemove = @(
    "12345678-1234-1234-1234-123456789012",
    "87654321-4321-4321-4321-210987654321"
)

foreach ($KeyId in $CertsToRemove) {
    Write-Host "Suppression du certificat avec KeyId : $KeyId"
    .\ConfigureExchangeHybridApplication.ps1 -RemoveCredential -KeyId $KeyId
    Start-Sleep -Seconds 2
}

Le script se connectera à Azure AD, localisera le principal de service Exchange Online et supprimera les informations d'identification des certificats spécifiés.

Avertissement : La suppression de certificats actifs peut rompre la connectivité hybride. Ne supprimez que les certificats dont vous avez confirmé qu'ils ne sont plus utilisés.

Vérification : Exécutez à nouveau le script avec -ListCredentials pour confirmer que les certificats ont été supprimés.

06

Nettoyer les certificats du serveur Exchange sur site

Supprimez les certificats correspondants de vos serveurs Exchange sur site. Connectez-vous à Exchange Management Shell sur votre serveur hybride.

# Ouvrir Exchange Management Shell et lister les certificats actuels
Get-ExchangeCertificate | Where-Object {$_.Status -eq "Valid"} | Select-Object Thumbprint, Subject, NotAfter, Services

# Supprimer les certificats expirés (remplacez l'empreinte par des valeurs réelles)
$ExpiredCerts = Get-ExchangeCertificate | Where-Object {$_.NotAfter -lt (Get-Date)}

foreach ($Cert in $ExpiredCerts) {
    Write-Host "Suppression du certificat expiré : $($Cert.Subject)"
    Remove-ExchangeCertificate -Thumbprint $Cert.Thumbprint -Confirm:$false
}

# Supprimer un certificat spécifique par empreinte
Remove-ExchangeCertificate -Thumbprint "A1B2C3D4E5F6789012345678901234567890ABCD" -Confirm:$false

Cela supprime les certificats du magasin de certificats local sur votre serveur Exchange.

Vérification : Exécutez Get-ExchangeCertificate pour confirmer que les certificats ne sont plus listés.

07

Tester la connectivité hybride après le nettoyage des certificats

Après avoir supprimé les certificats, testez votre configuration hybride pour vous assurer que le flux de courrier et d'autres fonctionnalités hybrides fonctionnent toujours correctement.

# Tester la connectivité hybride depuis Exchange Online
Test-MigrationServerAvailability -ExchangeRemoteMove -RemoteServer "your-hybrid-server.domain.com" -Credentials (Get-Credential)

# Tester le flux de courrier depuis les locaux
Test-MailFlow -TargetEmailAddress "testuser@yourdomain.com" -TargetDatabase "Mailbox Database 01"

# Vérifier l'état de la configuration hybride
Get-HybridConfiguration | Select-Object *Domain*, *Certificate*

# Vérifier que l'authentification OAuth fonctionne
Test-OAuthConnectivity -Service EWS -TargetUri "https://outlook.office365.com/ews/exchange.asmx" -Mailbox "testuser@yourdomain.com"

Ces tests vérifient que la suppression des certificats n'a pas cassé votre déploiement hybride.

Conseil de pro : Exécutez ces tests pendant une fenêtre de maintenance lorsque l'interruption du flux de courrier aurait un impact minimal.

Vérification : Tous les tests doivent renvoyer des résultats réussis. Si l'un échoue, vérifiez les configurations des certificats et les paramètres hybrides.

08

Mettre à jour la surveillance et la documentation des certificats

Documentez le nettoyage des certificats et établissez une surveillance pour éviter les problèmes futurs d'accumulation de certificats.

# Créer un script de surveillance des certificats
$MonitoringScript = @'
# Script de surveillance des certificats - enregistrer sous Monitor-HybridCertificates.ps1
Connect-ExchangeOnline -CertificateThumbprint "YOUR_CERT_THUMBPRINT" -AppId "YOUR_APP_ID" -Organization "yourtenant.onmicrosoft.com"
Connect-AzureAD

$ExchangeOnlineSP = Get-AzureADServicePrincipal -Filter "DisplayName eq 'Microsoft Exchange Online'"
$ExpiringCerts = $ExchangeOnlineSP.KeyCredentials | Where-Object {$_.EndDate -lt (Get-Date).AddDays(30)}

if ($ExpiringCerts) {
    Write-Warning "Found $($ExpiringCerts.Count) certificates expiring within 30 days"
    $ExpiringCerts | Select-Object KeyId, EndDate | Format-Table
}
'@

$MonitoringScript | Out-File "Monitor-HybridCertificates.ps1"

# Créer une documentation de l'état actuel
$Documentation = @"
Nettoyage des certificats terminé : $(Get-Date)
Certificats supprimés : $($CertsToRemove.Count)
Prochaine date de révision : $((Get-Date).AddMonths(3).ToString('yyyy-MM-dd'))
"@

$Documentation | Out-File "Certificate-Cleanup-Log.txt" -Append

Cela crée un script de surveillance que vous pouvez exécuter mensuellement pour vérifier les certificats expirants.

Vérification : Planifiez l'exécution mensuelle du script de surveillance via le Planificateur de tâches ou votre plateforme d'automatisation préférée.

Questions Fréquentes

Que se passe-t-il si je supprime un certificat actif de l'application Exchange Online ?+
La suppression d'un certificat actif interrompra immédiatement la connectivité hybride et l'authentification entre votre Exchange sur site et Office 365. Le flux de courrier s'arrêtera, et les utilisateurs pourraient perdre l'accès aux calendriers partagés et à d'autres fonctionnalités hybrides. Vérifiez toujours que les certificats sont expirés ou inutilisés avant de les supprimer, et testez la connectivité après tout changement de certificat.
À quelle fréquence devrais-je nettoyer les certificats dans les environnements hybrides Exchange Online ?+
Microsoft recommande de revoir les certificats trimestriellement et de supprimer immédiatement ceux qui sont expirés. Configurez une surveillance automatisée pour vous alerter 30 jours avant l'expiration d'un certificat. Après avoir exécuté l'Assistant de configuration hybride, auditez toujours et supprimez les anciens certificats dans la semaine pour éviter l'accumulation.
Puis-je utiliser l'ancien paramètre Credential au lieu de l'authentification par certificat en 2026 ?+
Non, Microsoft a déprécié le paramètre Credential dans les versions d'Exchange Online PowerShell publiées après juin 2026. Vous devez migrer vers l'authentification basée sur des certificats en utilisant le flux de client à client. Ce changement affecte tous les scripts automatisés et nécessite la mise à jour de vos méthodes d'authentification avant que la dépréciation ne prenne effet.
Quelle est la différence entre la suppression de certificats dans Exchange Online et dans Exchange sur site ?+
La suppression du certificat Exchange Online affecte le principal de service Azure AD et impacte l'authentification côté cloud, tandis que la suppression sur site affecte les magasins de certificats locaux et l'authentification côté serveur. Les deux sont nécessaires pour un nettoyage complet. Utilisez le script ConfigureExchangeHybridApplication.ps1 pour Exchange Online et la cmdlet Remove-ExchangeCertificate pour les serveurs sur site.
Comment puis-je récupérer si je supprime accidentellement le mauvais certificat d'Exchange Online ?+
Si vous supprimez un certificat actif, exécutez immédiatement l'Assistant de configuration hybride pour rétablir la connectivité. L'assistant créera de nouveaux certificats et rétablira l'authentification. Pour une récupération plus rapide, vous pouvez télécharger manuellement un certificat valide sur le principal de service Exchange Online en utilisant Azure AD PowerShell, mais cela nécessite la clé privée du certificat et une configuration appropriée.
Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...