设备同步可让你在 AD2AADDeviceSync 云同步配置中使用 作业,将计算机对象从 Active Directory (AD) 同步到 Microsoft Entra ID。 同步后,设备可成为 Microsoft Entra 混合联接设备。
默认情况下禁用设备同步。 在开始之前,请确保环境满足先决条件。 然后配置服务连接点(SCP)、启用设备同步、按需预配设备、使用Microsoft Graph管理设备同步以及恢复已删除的设备。
Important
使用 Microsoft Entra Cloud Sync 的设备同步处于预览状态。 有关适用于 beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览补充使用条款。
先决条件
确保环境满足以下要求:
- 在本地环境中安装Microsoft Entra预配代理。 代理版本必须为 1.1.1107 或更高版本。 从Microsoft Entra 管理中心下载最新的可用代理版本。 有关代理版本,请参阅Microsoft Entra预配代理发布历史记录。
- 创建从 AD 到 Microsoft Entra ID 的云同步配置。 有关配置步骤,请参阅配置从Active Directory到Microsoft Entra ID的预配。
- Microsoft Entra租户 ID 以及设备用于身份验证的已验证域。 对于联合环境,请使用联合域。 否则,请使用主
*.partner.onmschina.cn域。 - 如果需要配置 SCP,则需要临时访问一个帐户,该帐户是包含已加入域的计算机的每个 AD 林中的 Enterprise Admins 组成员。 如果可用,请使用贵组织的即时特权访问流程。
- 若要在Microsoft Entra 管理中心中配置设备同步,请使用至少具有混合标识管理员角色的帐户。
配置服务连接点
在每个包含已加入域计算机的 AD 林中配置 SCP。 设备使用 SCP 发现它们在其中注册的 Microsoft Entra 租户。
SCP 可能已经在林中进行了配置。 在运行脚本之前, 请验证现有的 SCP 值,并记录当前 azureADName 值和 azureADId 值,以便在必要时还原它们。 如果这些值已表明目标租户,请跳至 启用设备同步。
Warning
如果 SCP 已存在,脚本将清除其当前 keywords 值,并将其替换为所提供的 azureADName 值和 azureADId 值。 在运行它之前,请先验证域和租户 ID。
若要配置 SCP,请执行以下步骤:
使用属于当前林中 Enterprise Admins 组的帐户,登录已加入域的管理工作站或域控制器。 使用组织策略允许本地脚本的 Windows PowerShell 会话。
将以下脚本另存为
ConfigureSCP.ps1:# # ConfigureSCP.ps1 # Configures the service connection point (SCP) for Microsoft Entra hybrid join in the current forest. # # REQUIREMENT: Must be run by an Enterprise Admin of the current forest. # # EXAMPLES: # .\ConfigureSCP.ps1 -Domain contoso.com -TenantId <guid> # .\ConfigureSCP.ps1 -Domain contoso.partner.onmschina.cn -TenantId <guid> # [CmdletBinding()] param( # Verified domain used for device authentication. # If you use federation, enter a federated domain name. # Otherwise, enter your primary *.partner.onmschina.cn domain name. [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string]$Domain, # Microsoft Entra tenant identifier (GUID). [Parameter(Mandatory = $true)] [guid]$TenantId ) $ErrorActionPreference = "Stop" Write-Output "Configuring the SCP for Microsoft Entra hybrid join in your Active Directory forest." try { ## Set variables $azureADName = "azureADName:" + $Domain.Trim() $azureADId = "azureADId:" + $TenantId.ToString() $keywords = "keywords" $ldap = "LDAP://" $rootDSE = New-Object System.DirectoryServices.DirectoryEntry($ldap + "RootDSE") $configCN = $rootDSE.Properties["configurationNamingContext"][0].ToString() $servicesCN = "CN=Services," + $configCN $drcCN = "CN=Device Registration Configuration," + $servicesCN $scpCN = "CN=62a0ff2e-97b9-4513-943f-0d221bd30080," + $drcCN ## Get/Create: CN=Device Registration Configuration,CN=Services if ([System.DirectoryServices.DirectoryEntry]::Exists($ldap + $drcCN)) { $deDRC = New-Object System.DirectoryServices.DirectoryEntry($ldap + $drcCN) } else { $de = New-Object System.DirectoryServices.DirectoryEntry($ldap + $servicesCN) $deDRC = $de.Children.Add("CN=Device Registration Configuration", "container") $deDRC.CommitChanges() } ## Edit/Create: CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services if ([System.DirectoryServices.DirectoryEntry]::Exists($ldap + $scpCN)) { $deSCP = New-Object System.DirectoryServices.DirectoryEntry($ldap + $scpCN) $deSCP.Properties[$keywords].Clear() } else { $deSCP = $deDRC.Children.Add("CN=62a0ff2e-97b9-4513-943f-0d221bd30080", "serviceConnectionPoint") } $deSCP.Properties[$keywords].Add($azureADName) | Out-Null $deSCP.Properties[$keywords].Add($azureADId) | Out-Null $deSCP.CommitChanges() Write-Output "Configuration complete!" } catch { Write-Output "Configuration could not be completed." Write-Output $_ exit 1 }使用目标租户的值运行脚本:
- 对于
Domain,请在联合环境中使用联合域。 否则,请使用主*.partner.onmschina.cn域。 - 对于
TenantId,应使用 Microsoft Entra 租户 GUID。
.\ConfigureSCP.ps1 -Domain <verified-domain> -TenantId <tenant-id>- 对于
确认 PowerShell 显示
Configuration complete!。 如果显示Configuration could not be completed.,请查看随附的错误,并在继续之前解决此问题。在每个包含已加入域的计算机的其他 AD 林中,验证现有的 SCP 值,并在需要时重复上述过程。
配置所有必需的林后,注销任何 企业管理员 帐户,并根据组织的特权访问过程删除或停用临时访问。
启用设备同步
在现有的AD 到 Microsoft Entra ID云同步配置中启用设备同步。
以至少混合身份管理员的身份登录到Microsoft Entra 管理中心。
浏览到 Entra ID>Entra Connect>云端同步。
选择现有的AD 到 Microsoft Entra ID配置。
选择 属性。 在“基本信息”下,确认设备同步已禁用。
在 “基本信息”旁边,选择“编辑”图标。
选择“ 启用设备同步”,然后选择“ 应用”。
查看同步的设备属性
云同步设备同步支持以下设备属性映射。
| Microsoft Entra 属性 | AD 属性 | 映射类型 |
|---|---|---|
AccountEnabled |
userAccountControl |
表达式 |
DeviceId |
objectGUID |
直接 |
DeviceOSType |
operatingSystem |
表达式 |
DeviceTrustType |
None. 该值始终为ServerAd。 |
表达式 |
DisplayName |
displayName、dNSHostName |
表达式 |
OnPremiseSecurityIdentifier |
objectSid |
直接 |
RegisteredOwnerReference |
mS-DS-CreatorSID |
一旦 |
SourceAnchor |
objectGUID |
直接 |
UserCertificate |
userCertificate |
直接 |
RegisteredOwnerReference仅当 Cloud Sync 首次在 AD 中查找计算机对象时,才会应用映射。
按需配置设备
按需预配设备以运行特定 AD 计算机对象的设备同步。
以至少混合身份管理员的身份登录到Microsoft Entra 管理中心。
浏览到 Entra ID>Entra Connect>云端同步。
- 选择现有的AD 到 Microsoft Entra ID配置。
- 选择按需供应。
- 选择“设备”选项卡。
- 输入 AD 计算机的可分辨名称。
- 选择“预配”。
使用 Microsoft Graph 管理设备同步
可以使用Microsoft Graph创建和启动设备同步作业,或按需预配设备。
创建和启动设备同步作业
使用 Create synchronizationJob 创建设备同步作业。
在请求中:
- 使用你的 AD 到 Microsoft Entra ID 服务主体的服务主体 ID。
- 将
templateId设置为AD2AADDeviceSync。
使用 Start synchronizationJob 启动设备同步作业。
通过 Microsoft Graph 按需预配设备
将 Get synchronizationSchema 与设备同步作业配合使用。
在响应中,从
synchronizationRules中获取设备同步规则 ID。使用 synchronizationJob:provisionOnDemand。 在请求正文中,设置:
-
objectId到 Active Directory 用户和计算机中的计算机可分辨名称。 -
objectTypeName至computer。 -
ruleId到设备同步规则 ID。
-
恢复已删除的设备
在以下情况下,可以从Microsoft Entra ID中删除设备:
- 相应的计算机在 AD 中删除,这会导致云同步删除Microsoft Entra ID中的设备。
- 在
dsregcmd /leave运行后,设备将取消云加入状态,这会导致 Azure Device Registration Service 删除 Microsoft Entra ID 中的该设备。 - 管理员在 Microsoft Entra 管理中心中手动从 Entra ID>中的设备删除该设备。
如果除 Cloud Sync 以外的服务或管理员删除设备,则除非相应的 AD 计算机对象发生更改,否则 Cloud Sync 在下一个同步周期内不会重新创建设备。
使用以下选项之一恢复设备并还原其混合联接状态:
- 在Microsoft Entra 管理中心中,转到Entra ID>>删除的设备,然后还原设备。
- 在 AD 中更改相应的计算机对象,然后等待下一个设备同步周期。
- 按需预配设备。