由于不存在帐户而导致 Active Directory ADSync 错误

由于不存在帐户而导致 Active Directory ADSync 错误

我遇到了一个奇怪的 ADSync 错误,指出我的本地活动目录包含两个具有相同 ProxyAddress 属性的对象。其中一个帐户是用户名@domain.tld (正确),第二个是用户名@domain.onmicrosoft.com(我认为在 AD 中不存在)- 并且根据 DirSync 错误报告,它们都包含相同的冲突 ProxyAddress用户名@域名.tld。AzureAD 显示两个帐户都来自本地 Active Directory。关键是,有人可能在几年前创建了 *onmicrosoft.com 帐户来测试 office365。

到目前为止我已经检查了两件事:

  1. 小型 powershell 脚本用于测试本地 AD 中的相同代理地址:
Get-ADUser -Filter * -Properties proxyAddresses | foreach {
    foreach($address in $_.proxyAddresses) {
        if ($address -eq 'smtp:[email protected]') {
            Write-Host $address
        }
    }
 }
  1. 检查冲突帐户的 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 小时,因此在执行此过程之前必须考虑到这一点。

更多信息: 无法激活或停用 Office 365、Azure 或 Intune 的目录同步

相关内容