我遇到了一个奇怪的 ADSync 错误,指出我的本地活动目录包含两个具有相同 ProxyAddress 属性的对象。其中一个帐户是用户名@domain.tld (正确),第二个是用户名@domain.onmicrosoft.com(我认为在 AD 中不存在)- 并且根据 DirSync 错误报告,它们都包含相同的冲突 ProxyAddress用户名@域名.tld。AzureAD 显示两个帐户都来自本地 Active Directory。关键是,有人可能在几年前创建了 *onmicrosoft.com 帐户来测试 office365。
到目前为止我已经检查了两件事:
- 小型 powershell 脚本用于测试本地 AD 中的相同代理地址:
Get-ADUser -Filter * -Properties proxyAddresses | foreach {
foreach($address in $_.proxyAddresses) {
if ($address -eq 'smtp:[email protected]') {
Write-Host $address
}
}
}
- 检查冲突帐户的 immutableID:
$user = Get-ADUser legit_account
$immutableid = [System.Convert]::ToBase64String($user.ObjectGUID.tobytearray())
$immutableid #shows the same as legit account in DirSync report
$badImmutableID = 'base64 copied from bad account DirSync error report=='
$users = get-aduser -Filter *
foreach ($usr in $users) {
$currImmutableID = [System.Convert]::ToBase64String($usr.ObjectGUID.tobytearray())
if ($currImmutableID -eq $badImmutableID) {
$usr
}
}
由于 immutableID 不正确,此脚本不提供任何输出(但可以与其他脚本一起使用)。
我实际上被困在了这一点上 - AzureAD 不允许我删除坏帐户来解决冲突,说我必须在本地 AD 中解决它,但实际上没有这样的帐户。任何想法都将不胜感激。
答案1
您需要在删除该坏帐户之前禁用 AD 同步,
步骤1– 安装适用于 Windows PowerShell 的 Azure Active Directory 模块
Install-Module -Name MSOnline
Install-Module -Name AzureAD
第2步– 连接到 Azure AD
Connect-MsolService
步骤3– 禁用目录同步
Set-MsolDirSyncEnabled –EnableDirSync $false
步骤4– 检查目录同步状态
(Get-MSOLCompanyInformation).DirectorySynchronizationEnabled
继续定期运行此 cmdlet,直到它返回 False,然后转到下一步。请注意,在此期间 Azure AD 将不可用。
步骤5– 删除孤立对象
Remove-MsolUser -UserPrincipalName [email protected]
第 6 步– 启用目录同步
Set-MsolDirSyncEnabled -EnableDirSync $true
更多信息请点击这里:无法管理或删除通过 Azure Active Directory 同步工具同步的对象
编辑:-警告: 正如 Cyrill U 所指出的,再次启用同步可能需要长达 72 小时,因此在执行此过程之前必须考虑到这一点。