将组的授权源(SOA)转换为Microsoft Entra ID时,不会自动检测到该组的原始组织单位(OU)。 在转换该组的 SOA 之前,使用 GroupDN 目录扩展捕获该组的可分辨名称 (DN),然后在 OU 和通用名称 (CN) 映射表达式中引用此扩展。
本文介绍首次设置。 在将组转换为云托管 之前 完成此操作。 有关使用该扩展的映射表达式,请参阅 保留组的原有组织单位。
Prerequisites
在继续之前,请完成从Microsoft Entra ID预配到Active Directory的先决条件中的步骤。
设置 GroupDN 扩展
在将组转换为云托管之前,请完成以下任务。
将组范围更改为通用
要将组作用域更改为“通用”:
- 打开Active Directory管理中心。
- 选择并按住该组(或右键单击该组),然后选择 “属性”。
- 在 “组 ”部分中,选择“ 通用 ”作为组范围。
- 选择“保存”。
创建扩展
云同步仅支持在 CloudSyncCustomExtensionsApp 应用程序上创建的扩展。 如果此应用程序尚不存在,请为每个租户创建一次。
打开提升的 PowerShell 窗口并运行以下命令以安装模块并连接:
Install-Module Microsoft.Graph -Scope CurrentUser -Force Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "Application.ReadWrite.All","Directory.ReadWrite.All","Directory.AccessAsUser.All"检查应用程序是否存在。 如果没有,请创建它,并确保存在服务主体:
$tenantId = (Get-MgOrganization).Id $app = Get-MgApplication -Filter "identifierUris/any(uri:uri eq 'API://$tenantId/CloudSyncCustomExtensionsApp')" if (-not $app) { $app = New-MgApplication -DisplayName "CloudSyncCustomExtensionsApp" -IdentifierUris "API://$tenantId/CloudSyncCustomExtensionsApp" } $app $sp = Get-MgServicePrincipal -Filter "AppId eq '$($app.AppId)'" if (-not $sp) { $sp = New-MgServicePrincipal -AppId $app.AppId } $sp添加一个名为 的目录扩展属性——组对象上的一个字符串属性:
New-MgApplicationExtensionProperty ` -ApplicationId $app.Id ` -Name "GroupDN" ` -DataType "String" ` -TargetObjects Group
有关详细信息,请参阅用于将Microsoft Entra ID预配到Active Directory的目录扩展。
将 distinguishedName 映射到 GroupDN 扩展
让 Cloud Sync 使用来自 Active Directory 的组可分辨名称 (DN) 填充扩展属性。 这会在 Microsoft Entra ID 中记录组的完整 DN(CN + OU 路径)。
- 打开 Entra ID>Entra Connect>云同步。
- 选择您的AD 到 Microsoft Entra ID 的配置。
- 转到属性映射并将对象类型设置为“组”。
- 添加新的属性映射:
- 映射类型:直接
-
源属性:
distinguishedName -
目标属性:
extension_<appIdWithoutHyphens>_GroupDN
- 保存架构以触发同步。
验证映射并转换 SOA
同步运行完成后,使用 Microsoft Graph PowerShell 验证扩展属性是否已填入 DN 值:
$groupDisplayName = 'My Security Group'
$clientId = $app.AppId
$propName = "extension_{0}_GroupDN" -f ($clientId -replace "-","")
$grp = Get-MgGroup -Filter "displayName eq '$groupDisplayName'" -ConsistencyLevel eventual
Get-MgGroup -GroupId $grp.Id -Property "id,displayName,$propName" |
Select-Object id, displayName, @{n=$propName; e={$_."$propName"}}
将 DN 保存在扩展中后,将组的授权源转换为 Microsoft Entra ID。 该组会变为云托管组,同时其原始 DN 会保留在扩展中,以供后续的 OU 和 CN 映射表达式使用。