症状
Azure Active Directory (Azure AD) Microsoft Office 365 的组中缺少用户。
解决方法
有两个 Windows Azure Active Directory 模块可通过 PowerShell 管理Azure AD。 目前支持这两者。
-
MSOL - 有关 MSOL 模块的详细信息,请参阅以下文章:安装 - 模块 MSOnlineConnect - MsolService
-
AzureAD - 有关 AzureAD 模块的详细信息,请参阅以下文章:安装 - 模块 AzureADConnect - AzureAD
若要解决此问题,请执行以下步骤:
-
使用 Azure AD PowerShell 模块确认对象存在于 Azure AD 中。 例如,运行以下 cmdlet 之一:
Get-MsolGroup -SearchString <EmailAddress or DisplayName>
Get-AzureADGroup -SearchString <Mail or DisplayName>
-
如果缺少的用户对象存在于 Azure AD 中。 确认对象具有 UserPrincipalName、 TargetAddress 和 MailNickname 属性的值。
-
确认缺少的用户存在于 Azure AD 中。 例如,运行以下 cmdlet 之一:
Get-MsolUser -SearchString <UserPrinicipalName or DisplayName>
Get-AzureADUser -SearchString <UserPrinicipalName or DisplayName>
-
使用 Get-User cmdlet 确认Exchange Online中存在收件人对象。
-
如果 Exchange 中不存在收件人对象,请要求Microsoft使用 ObjectId 参数 (提交对象,以便将对象从 Azure AD 转发同步提交到Exchange Online,其格式为 XXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX) 。 若要获取 ObjectId 参数结果,请运行以下 cmdlet:Get-MsolUser -UserPrincipalName John@contoso.com | fl *object*
-
如果用户未显示为 UserMailbox 或 MailUser 的收件人类型,请要求Microsoft使用 UserPrincipalName 属性将对象从 Azure AD 转发同步提交到Exchange Online。 请提供此值,因为它可能与 PrimarySMTPAddress 属性值不同。
-
-
确认没有验证或同步错误。 例如,运行以下 cmdlet:Get-MsolGroup -SearchString <EmailAddress or DisplayName> | fl ValidationStatus,*error*
备注 只有使用 Get-MsolUser cmdlet 才能查看 ValidationStatus 参数。如果 ValidationStatus 不 正常,以下文章可能有助于显示有关错误的更详细信息。Office 365门户或用于Windows PowerShell的 Azure Active Directory 模块中看到用户的验证错误
-
比较 Azure 和 Exchange Online 之间的成员身份计数。 必须具有组的 ObjectID 才能在 Azure AD 中运行命令。 这可以通过使用 Get-MsolGroup 或 Get-AzureADGroup cmdlet 找到。 然后,可以在命令中使用此 ObjectId 参数来获取成员。 例如:
Get-MsolGroupMember -GroupObjectId ObjectID
Get-AzureADGroupMember -ObjectId ObjectID
与 Exchange 中的信息进行比较。 例如:Get-DistributionGroupMember SMTPAddress
-
如果用户在 Azure AD 中列出,但在Exchange Online中缺少,请要求Microsoft将组对象提交组对象,以便从 Azure AD 转发同步到该组的 Exchange Online,然后确认同步已完成(如果添加了该用户)。 提供Azure ObjectID 参数,现在需要该参数来运行前向同步。Get-MsolUser -SearchString <UserPrinicipalName or DisplayName> | fl ObjectID