Skip to content

Commit 1f3ad59

Browse files
authored
editorial changes
1 parent 3aa58f7 commit 1f3ad59

1 file changed

Lines changed: 41 additions & 40 deletions

File tree

support/entra/entra-id/user-prov-sync/troubleshoot-aad-connect-objects-attributes.md

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Troubleshoot Microsoft Entra Connect objects and attributes
33
description: Describes how to determine why an object isn't syncing in Microsoft Entra ID.
4-
ms.date: 02/03/2021
4+
ms.date: 03/03/2025
55
ms.reviewer: nualex
66
editor: v-jesits
77
ms.service: entra-id
@@ -11,6 +11,7 @@ ms.custom: sap:Microsoft Entra Connect Sync, has-azure-ad-ps-ref
1111
# End-to-end troubleshooting of Microsoft Entra Connect objects and attributes
1212

1313
This article is intended to establish a common practice for how to troubleshoot synchronization issues in Microsoft Entra ID.
14+
1415
This method is used when an object or attribute fails to synchronize with Microsoft Entra ID directory, and no errors are shown in the sync engine, Application event viewer logs, or Microsoft Entra logs. It's easy to get lost in the details if there's no obvious error. However, by using best practices, you can isolate the issue and provide insights for Microsoft Support engineers.
1516

1617
As you apply this troubleshooting method to your environment, over time, you'll be able to do the following steps:
@@ -36,17 +37,19 @@ For a better understanding of this article, first read the following prerequisit
3637
## Ineffective troubleshooting practices
3738

3839
The `onPremisesSyncEnabled` attribute in Microsoft Entra ID controls whether the tenant is prepared to accept synchronization of objects from on-premises AD DS.
39-
There's an habit of disabling DirSync on the tenant while troubleshooting object or attribute synchronization issues. It's easy to turn off directory synchronization by using Graph or PowerShell, however this process can be disruptive.
4040

41-
Disabling DirSync at the tenant level, triggers a complex and lengthy backend operation to transfer the Source of Authority (SoA) from local Active Directory to Microsoft Entra ID and Exchange Online for all the synced objects on the tenant. This operation is necessary to convert each object from `onPremisesSyncEnabled=True` to cloud-only objects (`onPremisesSyncEnabled=<null>`), and clean up all the shadow properties that are synced from on-premises AD DS (for example, ShadowUserPrincipalName and ShadowProxyAddresses). Depending on the size of the tenant, this operation can take more than 72 hours. Also, it's not possible to predict when the operation finishes.
42-
Never use this method to troubleshoot a sync issue because such operation can cause more harm and doesn't fix the root cause. You're blocked from enabling DirSync again until this disablement operation is complete. Also, after you re-enable DirSync, the Entra Connect server must match again all the on-premises objects with existent Microsoft Entra ID objects.
41+
It is common to disable DirSync on the tenant while troubleshooting object or attribute synchronization issues. Directory synchronization can be turned off using Graph or PowerShell, however this process might cause disruptions.
42+
43+
Disabling DirSync at the tenant level triggers a complex and lengthy backend operation to transfer the Source of Authority (SoA) from local Active Directory to Microsoft Entra ID and Exchange Online for all the synced objects on the tenant. This operation is necessary to convert each object from `onPremisesSyncEnabled=True` to cloud-only objects (`onPremisesSyncEnabled=<null>`), and clean up all the shadow properties that are synced from on-premises AD DS (for example, `ShadowUserPrincipalName` and `ShadowProxyAddresses`). This operation might take over 72 hours depending on the tenant's size, and its completion time can't be predicted.
44+
45+
Don't use this method to troubleshoot a sync issue because such operation can cause more harm and doesn't fix the root issue. You can't enable DirSync again until this disablement operation is complete. After re-enabling DirSync, the Entra Connect server must match all on-premises objects with existing Microsoft Entra ID objects.
4346

44-
The only scenarios where disabling DirSync is supported, are:
47+
Disabling DirSync is supported only in the following scenarios:
4548

4649
- You're decommissioning your on-premises synchronization server, and you want to continue managing your identities entirely from the cloud instead of from hybrid identities.
4750
- You have some synced objects in the tenant that you want to keep as cloud-only in Microsoft Entra ID and remove from on-premises AD permanently.
4851
- You're currently using a custom attribute as the SourceAnchor in Entra Connect (for example, employeeId), and you're re-installing AADC to start using **ms-Ds-Consistency-Guid/ObjectGuid** as the new SourceAnchor attribute (or vice versa).
49-
- There are scenarios in your mailbox migration strategy that could lead to potential issues.
52+
- Certain scenarios within your mailbox migration strategy might result in potential issues.
5053

5154
In some situations, you might have to temporarily stop synchronization or manually control Entra Connect sync cycles. For example, you might have to pause synchronization to be able to run one sync step at a time. Instead of disabling DirSync, you can just stop the sync scheduler by running the following cmdlet:
5255

@@ -169,9 +172,8 @@ The best way to troubleshoot permissions is to use the "Effective Access" featur
169172

170173
> [!important]
171174
> Troubleshooting AD permissions can be difficult because a change in ACLs doesn't take immediate effect. Always consider that such changes are subject to AD replication.
172-
>
173-
> For example:
174-
**Troubleshooting summary**
175+
176+
**Troubleshooting summary:**
175177

176178
- Identify which domain controller is used.
177179
- Use preferred domain controllers to target the same domain controller.
@@ -182,7 +184,7 @@ The best way to troubleshoot permissions is to use the "Effective Access" featur
182184
- Temporarily add the ADCA to the Enterprise admins or Domain admins, and restart the ADSync service.
183185

184186
> [!WARNING]
185-
> Don't use this as a permanent solution for permissions issues. After determining the permissions issue, remove the ADCA from any highly privileged groups, and provide the required AD permissions directly to the ADCA.
187+
> Don't use this as a permanent solution for permissions issues. After determining the permissions issue, remove the ADCA from any highly privileged groups, and grant the required AD permissions directly to the ADCA.
186188
187189
> [!NOTE]
188190
> Engage Directory Services or a network support team to help you troubleshoot the situation.
@@ -234,14 +236,14 @@ Troubleshooting summary
234236

235237
This situation doesn't occur as commonly for users and groups. However, if all the objects of a specific object type are missing in ADCS, it might be useful to examine which object types enabled in ADDS Connector configuration.
236238

237-
Use the **Get-ADSyncConnector** cmdlet to retrieve the object types that are enabled on the Connector, as shown in the next image.
239+
Use the `Get-ADSyncConnector` cmdlet to retrieve the object types that are enabled on the Connector, as shown in the next image.
238240

239241
```PowerShell
240242
$connectorName = "Contoso.com"
241243
(Get-ADSyncConnector | where Name -eq $connectorName).ObjectInclusionList`
242244
```
243245

244-
The following list shows the object types that should be enabled by default (**publicFolder** object type is present only when the Mail Enabled Public Folder feature is enabled):
246+
The following list shows the object types that should be enabled by default (The `publicFolder` object type exists only when the Mail Enabled Public Folder feature is enabled.):
245247

246248
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/get-adsyncconnector-objects.png" alt-text="Screenshot show the Get-ADSyncConnector object types." border="false":::
247249

@@ -252,17 +254,17 @@ The following list shows the object types that should be enabled by default (**p
252254

253255
To check for enabled attributes in ADDS Connector, use the Synchronization Manager, as shown in the next image, or run the following PowerShell cmdlet:
254256

255-
```PowerShell
257+
```PowerShell
256258
$connectorName = "Contoso.com"
257259
(Get-ADSyncConnector | where Name -eq $connectorName).AttributeInclusionList
258-
```
260+
```
259261

260262
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/ad-connector-sync-manager.png" alt-text="Screenshot of AD Connector Synchronization Manager.":::
261263

262264
> [!IMPORTANT]
263265
> Including or excluding object types or attributes in the Synchronization Service Manager isn't supported.
264266
265-
Troubleshooting summary
267+
**Troubleshooting summary:**
266268

267269
- Check the [Microsoft Entra app and attribute filtering](/azure/active-directory/hybrid/how-to-connect-install-custom#azure-ad-app-and-attribute-filtering) feature
268270
- Verify that the object type is included in ADCS.
@@ -310,35 +312,35 @@ The synchronization between ADCS and MV occurs on the delta/full synchronization
310312

311313
- **Check the lineage of the ADCS object**
312314

313-
You can retrieve the failing object from the ADCS by searching on "DN or Anchor" in "Search Connector Space." On the **Lineage** tab, you will probably see that the object is a **Disconnector** (no links to MV), and the lineage is empty. Also, check whether the object has any errors, in case there is a sync error tab.
315+
You can retrieve the failing object from the ADCS by searching on "DN or Anchor" in "Search Connector Space." On the **Lineage** tab, you will probably see that the object is a **Disconnector** (no links to MV), and the lineage is empty. Also, check whether the object has any errors, in case there is a sync error tab.
314316

315-
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/connector-space-object-properties.png" alt-text="Screenshot of the Connector Space Object Properties in A D C S.":::
317+
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/connector-space-object-properties.png" alt-text="Screenshot of the Connector Space Object Properties in A D C S.":::
316318

317319
- **Run a preview on the ADCS object**
318320

319-
Select **Preview** > **Generate Preview** > **Commit Preview** to see whether the object is projected to MV. If that's the case, then a full sync cycle should fix the issue for other objects in the same situation.
321+
Select **Preview** > **Generate Preview** > **Commit Preview** to see whether the object is projected to MV. If that's the case, then a full sync cycle should fix the issue for other objects in the same situation.
320322

321-
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/adcs-object-preview.png" alt-text="Screenshot of the A D C S object preview screen." border="false":::
323+
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/adcs-object-preview.png" alt-text="Screenshot of the A D C S object preview screen." border="false":::
322324

323-
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/adcs-source-object-details.png" alt-text="Screenshot of the Source Object Details screen in A D C S.":::
325+
:::image type="content" source="media/troubleshoot-aad-connect-objects-attributes/adcs-source-object-details.png" alt-text="Screenshot of the Source Object Details screen in A D C S.":::
324326

325327
- **Export the object to XML**
326328

327-
For a more detailed analysis (or for offline analysis), you can collect all the database data that's related to the object by using `Export-ADSyncToolsObjects` cmdlet. This exported information will help determine which rule is filtering out the object. In other words, which Inbound Scoping Filter in the Provisioning Sync Rules is preventing the object from being projected to the MV.
329+
For a more detailed analysis (or for offline analysis), you can collect all the database data that's related to the object by using `Export-ADSyncToolsObjects` cmdlet. This exported information will help determine which rule is filtering out the object. In other words, which Inbound Scoping Filter in the Provisioning Sync Rules is preventing the object from being projected to the MV.
328330

329-
Here are some examples of `Export-ADSyncToolsObjects` syntax:
331+
Here are some examples of the `Export-ADSyncToolsObjects` syntax:
330332

331-
```PowerShell
332-
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
333-
Install-Module ADSyncTools
333+
```PowerShell
334+
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
335+
Install-Module ADSyncTools
334336
335-
Import-Module ADSyncTools
336-
Export-ADSyncToolsObjects -DistinguishedName 'CN=TestUser,OU=Sync,DC=Contoso,DC=com' -ConnectorName 'Contoso.com' -ExportSerialized
337-
Export-ADSyncToolsObjects -ObjectId '{46EBDE97-7220-E911-80CB-000D3A3614C0}' -Source Metaverse -ExportSerialized
338-
```
337+
Import-Module ADSyncTools
338+
Export-ADSyncToolsObjects -DistinguishedName 'CN=TestUser,OU=Sync,DC=Contoso,DC=com' -ConnectorName 'Contoso.com' -ExportSerialized
339+
Export-ADSyncToolsObjects -ObjectId '{46EBDE97-7220-E911-80CB-000D3A3614C0}' -Source Metaverse -ExportSerialized
340+
```
339341
340-
> [!TIP]
341-
> To read the exported data use `Import-Clixml <filename>.xml`
342+
> [!TIP]
343+
> To read the exported data, use the `Import-Clixml <filename>.xml` cmdlet.
342344
343345
#### Troubleshooting summary (objects)
344346
@@ -526,7 +528,6 @@ Multiple components and processes that are involved in importing and exporting d
526528
- Connectivity to the internet
527529
- Internal firewalls and ISP connectivity (for example, blocked network traffic)
528530
- The Microsoft Entra Gateway in front of DirSync Webservice (also known as the AdminWebService)
529-
530531
- The DirSync Webservice API
531532
- The Microsoft Entra Core directory service
532533

@@ -540,20 +541,20 @@ Fortunately, the issues that affect these components usually generate an error i
540541

541542
- **Mobile attribute with DirSyncOverrides**
542543

543-
When the Admin uses the legacy MSOnline or AzureAD PowerShell modules, or if the user goes to the Office Portal and updates the **Mobile** attribute, the updated phone number will be overwritten in Microsoft Entra ID despite the object being synced from on-premises AD (`onPremisesSyncEnabled=true`).
544+
When the Admin uses the legacy MSOnline or AzureAD PowerShell modules, or if the user goes to the Office Portal and updates the `Mobile` attribute, the updated phone number will be overwritten in Microsoft Entra ID despite the object being synced from on-premises AD (`onPremisesSyncEnabled=true`).
544545

545-
Together with this update, Microsoft Entra ID also sets a DirSyncOverrides on the object to flag that this user has the mobile phone number "overwritten" in Microsoft Entra ID. From this point on, any update to the mobile attribute that originates from on-premises will be ignored because this attribute will no longer be managed by on-premises AD.
546+
Together with this update, Microsoft Entra ID also sets a `DirSyncOverrides` on the object to flag that this user has the mobile phone number "overwritten" in Microsoft Entra ID. From this point on, any update to the mobile attribute that originates from on-premises will be ignored because this attribute will no longer be managed by on-premises AD.
546547

547-
For more information about the BypassDirSyncOverrides feature and how to restore synchronization of Mobile and otherMobile attributes from Microsoft Entra ID to on-premises Active Directory, see [How to use the BypassDirSyncOverrides feature of a Microsoft Entra tenant](/azure/active-directory/hybrid/how-to-bypassdirsyncoverrides).
548+
For more information about the *BypassDirSyncOverrides* feature and how to restore synchronization of `Mobile` and `otherMobile` attributes from Microsoft Entra ID to on-premises Active Directory, see [How to use the BypassDirSyncOverrides feature of a Microsoft Entra tenant](/azure/active-directory/hybrid/how-to-bypassdirsyncoverrides).
548549

549550
- **UserPrincipalName changes don't update in Microsoft Entra ID**
550551

551-
If the UserPrincipalName attribute isn't updated in Microsoft Entra ID, while other attributes sync as expected, it's possible that a feature that's named [SynchronizeUpnForManagedUsers](/azure/active-directory/hybrid/how-to-connect-syncservice-features#synchronize-userprincipalname-updates) isn't enabled on the tenant.
552-
553-
Before this feature was added, any updates to the UPN that came from on-premises after the user was provisioned in Microsoft Entra ID and assigned a license were *silently* ignored. An admin would have to use the legacy MSOnline or AzureAD PowerShell to update the UPN directly in Microsoft Entra ID. After this feature is updated, any updates to UPN will flow to Microsoft Entra regardless of whether the user is licensed (managed).
552+
If the UserPrincipalName attribute isn't updated in Microsoft Entra ID, while other attributes synchronize as expected, its possible that a feature called [SynchronizeUpnForManagedUsers](/azure/active-directory/hybrid/how-to-connect-syncservice-features#synchronize-userprincipalname-updates) isn't enabled on the tenant.
553+
554+
Before this feature is added, any updates to the UPN from on-premises are *silently* ignored after the user is provisioned in Microsoft Entra ID and assigned a license. An admin must use the legacy MSOnline or AzureAD PowerShell to update the UPN directly in Microsoft Entra ID. After this feature is added, any updates to UPN will flow to Microsoft Entra regardless of whether the user is licensed (managed).
554555

555-
> [!NOTE]
556-
> After it's enabled, this feature can't be disabled.
556+
> [!NOTE]
557+
> After it's enabled, this feature can't be disabled.
557558
558559
**UserPrincipalName** updates will work if the user isn't licensed. However, without the [SynchronizeUpnForManagedUsers](/azure/active-directory/hybrid/how-to-connect-syncservice-features#synchronize-userprincipalname-updates) feature, UserPrincipalName changes after the user is provisioned and is assigned a licensed that will NOT be updated in Microsoft Entra ID. Notice that Microsoft doesn't disable this feature on behalf of customers.
559560

0 commit comments

Comments
 (0)