为目录同步准备不可路由的域

将本地目录与 Microsoft 365 同步时,必须在 Microsoft Entra ID 中具有已验证的域。 仅同步与 本地 Active Directory 域服务 (AD DS) 域关联的用户主体名称 (UPN) 。 但是,包含不可路由域的任何 UPN(例如 .local (示例: billa@contoso.local) )将同步到域 .onmicrosoft.com , (示例: billa@contoso.onmicrosoft.com) 。

如果当前 .local 在 AD DS 中将域用于用户帐户,建议将其更改为使用已验证的域。 例如, billa@contoso.com为了与 Microsoft 365 域正确同步,

如果我只有 .local 本地域,该怎么办?

使用 Microsoft Entra Connect 将 AD DS 同步到 Microsoft 365 租户的 Microsoft Entra 租户。 有关详细信息,请参阅将本地标识与Microsoft Entra ID集成

Microsoft Entra Connect 会同步用户的 UPN 和密码,以便用户可以使用本地使用的相同凭据登录。 但是,Microsoft Entra Connect 仅将用户同步到由 Microsoft 365 验证的域。 Microsoft Entra ID验证域,因为它管理 Microsoft 365 标识。 换句话说,域必须是有效的 Internet 域 (,例如,.com、.org、.NET、.us) 。 如果内部 AD DS 仅使用不可路由的域 (例如 .local) ,则这不可能与 Microsoft 365 租户的已验证域匹配。 可以通过在本地 AD DS 中更改主域或通过添加一个或多个 UPN 后缀来解决此问题。

更改主域

将主域更改为已在 Microsoft 365 中验证的域,例如,contoso.com。 然后,具有域 contoso.local 的每个用户都会更新为 contoso.com。 但是,这是一个涉及的过程,下一节将介绍一个更简单的解决方案。

添加 UPN 后缀并更新用户

可以通过在 AD DS 中注册新的 UPN 后缀或后缀来解决此问题 .local ,以匹配你在 Microsoft 365 中验证的域 (或域) 。 注册新后缀后,更新用户 UPN 以将 替换为 .local 新的域名,以便用户帐户类似于 billa@contoso.com。

更新 UPN 以使用已验证域后,即可将本地 AD DS 与 Microsoft 365 同步。

步骤 1:添加新的 UPN 后缀

  1. 在 AD DS 域控制器上,在服务器管理器选择“工具”>“Active Directory 域和信任”。

    或者,如果没有Windows Server 2012

    Windows 键 + R 打开“ 运行 ”对话框,然后在“域.msc”中键入,然后选择“ 确定”。

    选择“Active Directory 域和信任”。

  2. “Active Directory 域和信任” 窗口中,右键单击“ Active Directory 域和信任”,然后选择 “属性”。

    右键单击“Active Directory 域和信任”,然后选择“属性”。

  3. “UPN 后缀 ”选项卡上的“ 备用 UPN 后缀 ”框中,键入新的 UPN 后缀或后缀,然后选择“ 添加>应用”。

    添加新的 UPN 后缀。

    添加完后缀后缀后,选择 “确定 ”。

步骤 2:更改现有用户的 UPN 后缀

  1. 在 AD DS 域控制器的服务器管理器选择“工具Active Directory 用户和计算机>”。

    或者,如果没有Windows Server 2012

    Windows 键 + R 打开“ 运行 ”对话框,然后键入 Dsa.msc,然后选择“ 确定”

  2. 选择用户,右键单击,然后选择 “属性”。

  3. 在“ 帐户 ”选项卡上的“UPN 后缀”下拉列表中,选择新的 UPN 后缀,然后选择“ 确定”。

    为用户添加新的 UPN 后缀。

  4. 为每个用户完成这些步骤。

使用 PowerShell 更改所有用户的 UPN 后缀

如果有许多要更新的用户帐户,则使用 PowerShell 会更容易。 以下示例使用 cmdlet Get-ADUserSet-ADUser 将所有 contoso.local 后缀更改为 AD DS 中的 contoso.com。

例如,可以运行以下 PowerShell 命令,将所有 contoso.local 后缀更新为 contoso.com:

$LocalUsers = Get-ADUser -Filter "UserPrincipalName -like '*contoso.local'" -Properties userPrincipalName -ResultSetSize $null
$LocalUsers | foreach {$newUpn = $_.UserPrincipalName.Replace("@contoso.local","@contoso.com"); $_ | Set-ADUser -UserPrincipalName $newUpn}

有关在 AD DS 中使用Windows PowerShell的详细信息,请参阅 Active Directory Windows PowerShell 模块