Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Exchange Online provides diagnostic cmdlets that help you identify and repair common provisioning issues. These cmdlets are part of the Exchange Online PowerShell module. They check for mismatches between Microsoft Entra ID and Exchange Online, and they attempt automatic repairs when problems are found.
The following diagnostic cmdlets are available:
- Invoke-ProvisioningAcceptedDomainDiagnostic: Verifies and repairs accepted domain configurations.
- Invoke-ProvisioningCompanyObjectDiagnostic: Validates and repairs Company Object and service plan configurations.
- Invoke-ProvisioningRecipientDiagnostic: Identifies and repairs recipient object provisioning failures.
- Invoke-ProvisioningVerifyRbacDiagnostic: Analyzes and repairs role based access control (RBAC) configurations.
Invoke-ProvisioningAcceptedDomainDiagnostic
The Invoke-ProvisioningAcceptedDomainDiagnostic cmdlet verifies whether your organization's email domains are correctly set up in Exchange Online. It identifies situations where a domain exists in Microsoft 365 (Microsoft Entra ID) but is missing, misconfigured, or not fully provisioned in Exchange Online.
If the diagnostic finds a mismatch, it attempts to automatically repair the domain configuration so Exchange Online can recognize and use the domain for email routing, mailbox provisioning, and address policy processing.
The automated repair might take the following actions:
- Recreate a missing accepted domain in Exchange Online.
- Fix incomplete or corrupted domain provisioning.
- Sync updated domain information from Microsoft Entra ID into Exchange Online.
- Resolve issues where email addresses for the domain can't be created or validated.
Sample output of Invoke-ProvisioningAcceptedDomainDiagnostic
The following example shows the output of the Invoke-ProvisioningAcceptedDomainDiagnostic cmdlet when no issues are found:
Invoke-ProvisioningAcceptedDomainDiagnostic
The diagnostic execution will be logged with RunId: 01008ce9-742c-4735-a4c3-4ce02887ce1f
Cmdlet Parameters
=================
Parameter Value
--------- -----
Tenant Exchange Online information
==================================
Property Value
-------- -----
Name contoso.onmicrosoft.com
OrganizationStatus Active
ServicePlan BPOS_S_E15_0
DirSyncServiceInstance exchange/namprd13-009-01
Tenant Entra ID Domain Information
==================================
contoso.onmicrosoft.com
Tenant Entra ID Initial Domain: contoso.onmicrosoft.com
Tenant Entra ID Default Domain: contoso.onmicrosoft.com
No shared domain information was found in Entra ID for the tenant.
Tenant Exchange Online Domain Information
=========================================
contoso.onmicrosoft.com
Tenant Exchange Online Default Domain: contoso.onmicrosoft.com
Tenant Global Locator Service Domain Information
=================================================
contoso.onmicrosoft.com, GlsAndAd
The number of verified domains in MSO 1 is the same as in Exchange Online 1. (OK)
Found for validated Entra ID domain "contoso.onmicrosoft.com" a GLS and AD entry (OK)
Found GLS entry for domain(s):
==============================
Property Value
-------- -----
DomainName contoso.onmicrosoft.com
ExternalDirectoryOrganizationId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
DomainFlags None
DomainInUse True
SmtpNextHopDomain
IsValid True
Found no tenant GLS entry problems.
Found 1 good GLS domain entries.
Found 0 GLS domain entries assigned to a different tenant.
Found 0 missing GLS domain entries.
The diagnostic did not find any accepted domain issues in Exchange Online.
No issues found.
Invoke-ProvisioningCompanyObjectDiagnostic
The Invoke-ProvisioningCompanyObjectDiagnostic cmdlet verifies whether your organization's core Microsoft 365 information (the Company Object) is healthy and correctly synchronized between Microsoft Entra ID and Exchange Online.
Out of sync information or corrupted values can cause issues. For example, missing service plans, licensing problems, or failures when creating or updating mailboxes.
This diagnostic automatically does the following actions:
- Validates your tenant's Company Object settings.
- Checks for missing or failed service plan provisioning.
- Fixes common synchronization issues between Microsoft Entra ID and Exchange Online.
- Resubmits or repairs failed service plan updates, when possible.
Sample output of Invoke-ProvisioningCompanyObjectDiagnostic
The following example shows the output of the Invoke-ProvisioningCompanyObjectDiagnostic cmdlet when no issues are found:
Invoke-ProvisioningCompanyObjectDiagnostic
The diagnostic execution will be logged with RunId: a2d8b00e-9c08-4a99-8e09-1d392a01f109
Cmdlet Parameters
=================
Parameter Value
--------- -----
Tenant Exchange Online information
==================================
Property Value
-------- -----
Name contoso.onmicrosoft.com
OrganizationStatus Active
ServicePlan BPOS_S_E15_0
DirSyncServiceInstance exchange/namprd15-015-01
The tenant "contoso.onmicrosoft.com" was successfully found in Exchange Online and Entra ID.
Property Value
-------- -----
Name contoso.onmicrosoft.com
ExternalDirectoryOrganizationId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
DirSyncServiceInstance exchange/namprd15-015-01
OrganizationStatus Active
WhenOrganizationStatusSet 1/21/2026 6:22:05 PM
IsDualWriteEnabled True
Delayed license removal is disabled for this tenant.
The BPOS_S mailbox plan for the tenant has the state Enabled.
An organization object update request was sent successfully.
No issues found.
Invoke-ProvisioningRecipientDiagnostic
The Invoke-ProvisioningRecipientDiagnostic cmdlet checks for issues that prevent a mailbox, contact, group, or mail user from updating correctly in Exchange Online. Typically, these failures happen when the information stored in Microsoft Entra ID and the information stored in Exchange Online become inconsistent or incomplete.
This diagnostic does the following actions:
- Identifies recipient objects (mailboxes, groups, contacts, mail users) that failed to update or provision correctly.
- Checks for missing or invalid attributes required by Exchange Online.
- Looks for conflicts such as duplicate proxy addresses or inconsistent identity data.
- Repairs common issues by resubmitting or correcting the recipient object so Exchange Online can process it successfully.
Sample output of Invoke-ProvisioningRecipientDiagnostic
The following example shows the output of the Invoke-ProvisioningRecipientDiagnostic cmdlet for a specific recipient:
Invoke-ProvisioningRecipientDiagnostic -Recipients lukas@contoso.onmicrosoft.com
The diagnostic execution will be logged with RunId: c96be213-dce2-40ce-8961-286b51615a54
Cmdlet Parameters
=================
Parameter Value
--------- -----
Recipients lukas@contoso.onmicrosoft.com
Tenant Exchange Online information
==================================
Property Value
-------- -----
Name contoso.onmicrosoft.com
OrganizationStatus Active
ServicePlan BPOS_S_E15_0
DirSyncServiceInstance exchange/namprd15-015-01
Diagnostic is running for the recipient lukas@contoso.onmicrosoft.com.
Exchange Online Information
===========================
Property Value
-------- -----
Database 11bb11bb-cc22-dd33-ee44-55ff55ff55ff
DisplayName User Alias
EmailAddresses SPO:SPO_22cc22cc-dd33-ee44-ff55-66aa66aa66aa@SPO_00aa00aa-bb11-cc22-dd33-44ee44ee44ee, SIP:lukas@contoso.onmicrosoft.com, SMTP:lukas@contoso.onmicrosoft.com
ExchangeGuid 33dd33dd-ee44-ff55-aa66-77bb77bb77bb
ExternalDirectoryObjectId 44ee44ee-ff55-aa66-bb77-88cc88cc88cc
Guid 55ff55ff-aa66-bb77-cc88-99dd99dd99dd
InPlaceHolds
IsExchangeCloudManaged False
IsSoftDeletedByDisable False
IsSoftDeletedByRemove False
LitigationHoldEnabled False
LitigationHoldOwner
Name 44ee44ee-ff55-aa66-bb77-88cc88cc88cc
NetID 10032005829DAF80
RecipientType UserMailbox
RecipientTypeDetails UserMailbox
RetentionHoldEnabled False
SkuAssigned True
WhenChangedUTC 2/23/2026 7:12:00 PM
WhenCreatedUTC 1/21/2026 7:22:51 PM
WhenMailboxCreated 1/21/2026 8:49:23 PM
WhenSoftDeleted
WindowsLiveID lukas@contoso.onmicrosoft.com
The recipient object "00aa00aa-bb11-cc22-dd33-44ee44ee44ee_User_44ee44ee-ff55-aa66-bb77-88cc88cc88cc" was successfully found in Entra ID.
Entra ID Information
====================
Property Value
-------- -----
AccountEnabled True
Alias lukas
DisplayName User Alias
EmailAddressCollection SMTP:lukas@contoso.onmicrosoft.com,SIP:lukas@contoso.onmicrosoft.com
ExchangeGuid
ExternalObjectId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee_User_44ee44ee-ff55-aa66-bb77-88cc88cc88cc
NetID 10032005829DAF80
RecipientTypeDetailsValue
RemoteRecipientType
ServiceInstanceId exchange/namprd15-015-01
SKUAssigned True
SKUCapability BPOS_S_Enterprise
SKUCapabilityStatus Enabled
StsRefreshTokensValidFrom 2/20/2026 7:14:25 PM
UserType Member
WindowsLiveID lukas@contoso.onmicrosoft.com
User object properties
======================
Property Value
-------- -----
PreviousRecipientTypeDetails None
Mailbox statistics for mailbox "00aa00aa-bb11-cc22-dd33-44ee44ee44ee\55ff55ff-aa66-bb77-cc88-99dd99dd99dd" -Database 11bb11bb-cc22-dd33-ee44-55ff55ff55ff
=========================================================================================================================================================
Property Value
-------- -----
DisplayName User Alias
ItemCount 84
LastLogonTime 3/4/2026 12:17:49 AM
ExternalDirectoryOrganizationId 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
LegacyDn /o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=...
Checking Entra ID Exchange Online license and recipient type.
Licensing Status: Ok
Licensing Notes
===============
An Exchange Online license is assigned to the user object.
A UserMailbox is expected in Exchange Online, and no inconsistencies were found.
The current Exchange Online recipient type details for the recipient "55ff55ff-aa66-bb77-cc88-99dd99dd99dd" is "UserMailbox".
Reviewed Exchange Online and Entra ID proxy addresses; no Exchange Online issues found.
Diagnostic summary:
-------------------
Result SyncedMailboxLocationGuids, 66aa66aa-bb77-cc88-dd99-00ee00ee00ee
Ensured mailbox location information is current and up to date.
Result FoundMailboxStatistics, 77bb77bb-cc88-dd99-ee00-11ff11ff11ff
Found mailbox statistics information for the user mailbox.
Invoke-ProvisioningVerifyRbacDiagnostic
The Invoke-ProvisioningVerifyRbacDiagnostic cmdlet reviews a user's permissions in Exchange Online to determine whether their role based access control (RBAC) configuration is correct. It checks all RBAC components that determine what actions the user can perform, and identifies any missing or conflicting assignments.
This diagnostic does the following actions:
- Verifies the user's assigned management roles, role assignments, and role groups.
- Compares RBAC permissions of two users.
- Confirms that permissions are valid, not duplicated, and not in a broken or inconsistent state.
- Detects common RBAC issues that can prevent a user from running specific Exchange Online cmdlets or performing admin tasks.
- Provides guidance or automated repairs if it finds configuration problems that affect the user's ability to administer Exchange Online resources.
Sample output of Invoke-ProvisioningVerifyRbacDiagnostic
The following example shows the output of the Invoke-ProvisioningVerifyRbacDiagnostic cmdlet when checking whether a user can access a specific cmdlet and parameter:
Invoke-ProvisioningVerifyRbacDiagnostic -User arnold@contoso.onmicrosoft.com -CmdletName Set-Mailbox -CmdletParameters DisplayName
The diagnostic execution will be logged with RunId: 5848930a-9300-423f-85b6-b20df01d3d2a
Cmdlet Parameters
=================
Parameter Value
--------- -----
CmdletName "Set-Mailbox"
User arnold@contoso.onmicrosoft.com
CmdletParameters "DisplayName"
Tenant Exchange Online information
==================================
Property Value
-------- -----
Name contoso.onmicrosoft.com
OrganizationStatus Active
ServicePlan BPOS_S_E15_0
DirSyncServiceInstance exchange/namprd15-015-01
User RBAC permissions analysis:
===============================
The user is assigned a management role allowing access to the "Set-Mailbox" cmdlet with the "DisplayName" parameter.
Diagnostic summary:
-------------------
Result UserCanAccessCmdlet, 88cc88cc-dd99-ee00-ff11-22aa22aa22aa
The user can access the cmdlet and parameter combination.