You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AD Connect同步现有账号时如何防止UPN后缀被替换为.onmicrosoft.com

AD Connect同步时UPN被替换为.onmicrosoft.com的解决方案

你遇到的问题是本地AD用户使用不可路由的domain.local后缀同步到Azure AD时,匹配不到已验证域名导致UPN被自动改写,可通过以下方案解决,无需直接在云端反复重命名UPN:

方案1:本地AD添加可路由UPN后缀(官方推荐方案)

这是微软官方建议的标准修复方式,从根源避免UPN不匹配的问题:

  • 打开本地AD的Active Directory域和信任关系控制台,右键点击本地域名选择「属性」,在UPN后缀选项卡中添加你在Azure AD中已经验证过的domain.com,保存配置
  • 批量修改本地用户的UPN后缀,将domain.local替换为domain.com,可使用以下PowerShell命令批量操作(按需修改OU路径和域名):
# 替换为你实际的用户OU路径和目标域名
Get-ADUser -Filter * -SearchBase "OU=正式用户,DC=domain,DC=local" | ForEach-Object {
    $newUpn = $_.SamAccountName + "@domain.com"
    Set-ADUser $_ -UserPrincipalName $newUpn
}
  • 配置完成后再执行AD Connect同步,本地用户UPN与Azure AD已验证域名匹配,不会被自动替换为.onmicrosoft.com后缀

方案2:自定义AD Connect属性映射(不修改本地UPN的场景)

如果因业务限制不能修改本地AD的UPN后缀,可以通过自定义同步规则,用其他属性承载正确的UPN值同步到云端:

  • 提前在本地AD用户的自定义属性(比如extensionAttribute1)中填入对应的云端UPN example@domain.com
  • 打开AD Connect的「同步规则编辑器」,修改用户入站同步规则,将userPrincipalName属性的映射源从默认的userPrincipalName改为你存储正确UPN的自定义属性
  • 保存规则后执行同步,AD Connect会直接用你指定的属性值作为云端用户UPN,不会自动改写后缀

方案3:提前绑定ImmutableID硬匹配现有云端用户

如果Azure AD已经存在example@domain.com用户,提前绑定本地用户和云端用户的关联关系,避免同步时触发UPN改写逻辑:

  • 先获取本地对应用户的ImmutableID:
$localUser = Get-ADUser -Identity example
$immutableId = [System.Convert]::ToBase64String($localUser.ObjectGUID.ToByteArray())
  • 连接Azure AD,给现有云端用户设置对应的ImmutableID:
Connect-AzureAD
Set-AzureADUser -ObjectId example@domain.com -ImmutableId $immutableId
  • 绑定完成后再执行同步,AD Connect会直接匹配到现有云端用户,不会重命名UPN也不会新建重复用户

注意事项

  • 正式执行全量同步前,建议先使用AD Connect的「预览同步」功能,确认用户同步后的UPN属性符合预期,避免影响用户登录
  • 如果已经出现UPN被改写为.onmicrosoft.com的情况,可先暂停同步服务,修正本地配置后先手动将云端用户UPN改回domain.com后缀,再重新开启同步

内容的提问来源于stack exchange,提问作者Johannes Sequeira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:09:04