识别和解决 Microsoft Entra ID 中组的许可证分配问题

属于 Microsoft Entra 的 Microsoft Entra ID 中基于组的许可引入了处于许可错误状态的用户的概念。 本文说明了用户可能会以此状态结束的原因。

当你将许可证直接分配给各个用户而不使用基于组的许可时,分配操作可能会由于与业务逻辑相关的原因而失败。 例如,可能许可证数量不足,或者两个服务计划之间存在冲突,不能同时分配。 将立即向你返回该问题的报告。

查找许可证分配错误

使用基于组的许可时,可能会发生相同的错误,但是在 Microsoft Entra 服务分配许可证时在后台发生这些错误。 由于此原因,这些错误无法立即传达给你。 但是,这些错误会记录在用户对象中,并通过管理门户进行报告。 为用户提供许可证的原始意图永远不会丢失,但以错误状态记录,供以后调查和解决。

在组中查找处于错误状态的用户

  1. 至少以许可证管理员身份登录到 Microsoft Entra 管理中心

  2. 选择“Microsoft Entra ID”。

  3. 浏览到“计费”>选择“许可证”以打开一个页面,可以在其中查看和管理组织中的所有可许可产品。

  4. 打开该组的概述页,然后选择“许可证”。 如果有任何用户处于错误状态,则会显示通知。

    组和错误通知消息的屏幕截图。

  5. 选择通知以打开所有受影响的用户列表。 可以分别选择每个用户以查看更多详细信息。

    处于组许可错误状态的用户列表的屏幕截图。

  6. 若要查找包含至少一个错误的所有组,请在“Microsoft Entra ID”边栏选项卡上,选择“许可证”,再选择“概述”。 如果有一些组需要关注,则会显示信息框。

    屏幕截图显示了有关处于错误状态的组的信息。

  7. 选中该框可查看具有错误的所有组的列表。 可以选择每个组以了解更多详细信息。

    屏幕截图显示了具有错误的组的列表。

以下各部分提供了每个潜在问题的说明以及尝试解决它的方法。

注意

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模块已弃用。 若要了解详细信息,请阅读有关弃用的更新。 在此日期之后,对这些模块的支持仅限于到 Microsoft Graph PowerShell SDK 的迁移帮助和安全性修复。 弃用的模块将持续运行至 2025 年 3 月 30 日。

我们建议迁移到 Microsoft Graph PowerShell,以便与 Microsoft Entra ID(以前称为 Azure AD)进行交互。 有关常见迁移问题,请参阅迁移常见问题解答注意:2024 年 6 月 30 日之后,MSOnline 版本 1.0.x 可能会遇到中断。

许可证不足

问题:组中指定的产品之一没有足够的可用许可证。 需要为该产品购买更多的许可证,或者释放其他用户或组中未使用的许可证。

若要查看可用的许可证数量,请转到“标识”>“计费”>“许可证”>“所有产品”。

若要查看哪些用户和组正在使用许可证,请选择某个产品。 在“许可的用户”下面,可以看到直接或者通过一个或多个组向其分配许可证的所有用户的列表。 在“许可的组”下面,可以看到该产品已分配到的所有组。

PowerShell: PowerShell cmdlet 将此错误报告为 CountViolation

冲突的服务计划

问题:组中指定的某个产品包含的服务计划,与已通过不同的产品分配给用户的另一个服务计划相冲突。 某些服务计划已配置为不能作为另一个相关服务计划分配给相同的用户。

提示

以前,Exchange Online Plan1 和 Plan2 是唯一的,无法复制。 现在,这两个服务计划都已更新以允许重复。 如果遇到这些服务计划冲突,请尝试重新处理它们。

如何解决冲突的产品许可证始终由管理员决定。 Microsoft Entra ID 不会自动解决许可证冲突。

PowerShell:PowerShell cmdlet 将此错误报告为 MutuallyExclusiveViolation。

其他产品依赖于此许可证

问题:组中指定的某个产品包含的服务计划必须为另一个产品中的另一个服务计划启用才能正常工作。 当 Microsoft Entra ID 尝试删除基础服务计划时,将出现此错误。 例如,从组中删除用户时,可能会发生此问题。

若要解决此问题,需确保所需的计划仍通过其他某种方法分配给用户,或者为这些用户禁用了依赖服务。 执行这些操作后,可以正确地删除这些用户的组许可证。

PowerShell:PowerShell cmdlet 将此错误报告为 DependencyViolation。

不允许的使用位置

问题:由于当地法律和法规方面的原因,某些 Microsoft 服务不能在所有位置使用。 必须先为用户指定“使用位置”属性,才能将许可证分配给用户。 可以在门户中的“用户”>“配置文件”>“编辑”部分下指定位置

当 Microsoft Entra ID 尝试向使用位置不受支持的用户分配组许可证时,该操作会失败,并且会记录用户发生的此项错误。

若要解决此问题,请从许可组中删除其位置不受支持的用户。 或者,如果当前使用位置值不代表实际用户位置,可以修改这些值,以便下次可以正常分配许可证(如果新位置受支持)。

PowerShell:PowerShell cmdlet 将此错误报告为 ProhibitedInUsageLocationViolation。

注意

当 Microsoft Entra ID 分配组许可证时,任何未指定使用位置的用户将继承目录的位置。 Microsoft 建议管理员在使用基于组的许可之前,先为用户设置正确的使用位置值,以符合当地法律和法规。

重复的代理地址

问题:如果使用的是 Exchange Online,可能会使用相同的代理地址值错误地配置组织中的某些用户。 当基于组的许可尝试为此类用户分配许可证时,此操作会失败并显示“代理地址已被使用”。

提示

若要查看是否有重复的代理地址,请针对 Exchange Online 执行以下 PowerShell cmdlet:

Get-Recipient -Filter "EmailAddresses -eq 'user@contoso.onmicrosoft.com'" | fl DisplayName, RecipientType,Emailaddresses

有关此问题的详细信息,请参阅 Exchange Online 中的“代理地址已被使用”错误消息。 此文还包含有关如何使用远程 PowerShell 连接到 Exchange Online 的信息。

为受影响的用户解决代理地址问题之后,请确保强制对组进行许可证处理,确保现在可以应用许可证。

Microsoft Entra ID 邮件和 ProxyAddresses 属性更改

问题: 更新用户或组的许可证分配时,可能会看到某些用户的 Microsoft Entra ID 邮件和 ProxyAddresses 属性已更改。

更新用户的许可证分配会导致触发代理地址计算,这可能会更改用户属性。 若要了解更改的确切原因并解决问题,请参阅这篇关于如何在 Microsoft Entra ID 中填充 proxyAddresses 属性的文章。

审核日志中的 LicenseAssignmentAttributeConcurrencyException

问题:用户在审核日志中有针对许可证分配的 LicenseAssignmentAttributeConcurrencyException。 当基于组的许可尝试将相同许可证的并发许可证分配给某个用户时,将对该用户记录此异常。 当用户是分配有相同许可证的多个组的成员时,通常会发生这种情况。 Microsoft Entra ID 会重试处理用户许可证,直到问题得到解决。 客户无需执行任何操作即可解决此问题。

分配给一个组的多个产品许可证

可将多个产品许可证分配到一个组。 例如,可将 Office 365 企业版 E3 和企业移动性 + 安全性分配到某个组,轻松为用户启用所有包含的服务。

问题:Microsoft Entra ID 会尝试将该组中指定的所有许可证分配给每个用户。 但是,如果 Microsoft Entra ID 遇到问题,例如许可证不足或与其他服务冲突,则它也不会分配组中的其他许可证。 你可以检查为哪些用户分配许可证失败,并且可以检查哪些产品受此问题影响。

需要注意的是,在向组分配许可证时,如果没有足够的可用许可证,或者出现无法同时分配的服务计划等问题,则可能无法完成向组的分配。 例如,如果没有足够的许可证供所有用户使用,或者与为用户启用的其他服务存在冲突。

此问题的一个可能解决方法是创建动态组。 你可以创建动态组来分配许可证,例如 Exchange Online,然后使用具有相同成员身份规则的另一个动态组来应用先决条件许可证。 然后,在初始组将 Exchange Online 许可证应用于用户之后,你可以分配这些附加许可证。

如果你遇到任何许可错误,则会在用户对象上记录这些错误,并通过 Azure 门户报告它们以便解决。 有关详细信息,请参阅 Microsoft Graph PowerShell 基于组的许可示例

删除授权组时

问题:必须先移除分配给某个组的所有许可证,然后才能删除该组。 但是,删除组中所有用户的许可证可能比较耗时。 删除组的许可证分配时,如果为用户分配了依赖的许可证,或者某个代理地址冲突问题阻止删除许可证,则删除操作可能失败。 如果用户的许可证依赖于由于组删除而被删除的许可证,则分配给用户的许可证将从继承转换为直接分配。

例如,假设分配了 Office 365 E3/E5 的某个组启用了 Skype for Business 服务计划。 此外,假设直接为组中的几个成员分配了 Audio Conferencing 许可证。 删除该组时,基于组的许可会尝试删除所有用户的 Office 365 E3/E5。 由于 Audio Conferencing 依赖于 Skype for Business,对于分配了 Audio Conferencing 的所有用户,基于组的许可会将 Office 365 E3/E5 许可证转换为直接许可证分配。

有先决条件的产品管理许可证

你拥有的某些 Microsoft Online 产品可能是“附加产品”。 附加产品要求先为用户或组启用先决服务计划,才能向其分配许可证。 要使用基于组的许可,系统要求先决条件和附加产品服务计划存在于同一组中。 这是为了确保添加到组的任何用户都能收到功能齐全的产品。 请考虑以下示例:

Microsoft Workplace Analytics 是一个附加产品。 它包含同名单一服务计划。 仅当也分配了以下先决条件之一时,才能将此服务计划分配给用户或组:

  • Exchange Online(计划 1)
  • Exchange Online(计划 2)

问题:如果你尝试将此产品单独分配给一个组,则门户会返回一条通知消息。 如果你选择项详细信息,则它会显示以下错误消息:

“许可证操作失败。 添加或删除从属服务前,请确保组具有必要的服务。 Microsoft Workplace Analytics 服务还要求启用 Exchange Online(计划 2)。

若要将此附加产品许可证分配给组,必须确保该组也包含先决条件服务计划。 例如,Microsoft Entra ID 可能会更新已经包含完整 Office 365 E3 产品的现有组,并向其添加附加产品。

还可以创建一个独立的组,并在其中只包含正常运行附加产品所需的最少量产品。 使用该组可以仅向选定的用户授予附加产品的许可证。 根据前面的示例,可以将以下产品分配给同一组:

  • Office 365 企业版 E3,仅启用了 Exchange Online(计划 2)服务计划
  • Microsoft Workplace Analytics

从现在起,添加到此组的任何用户都将使用一个 E3 产品许可正和一个工作区分析产品许可证。 同时,这些用户可以是另一组的成员,为其提供完整的 E3 产品,他们仍只使用该产品的一个许可证。

提示

可为每个先决服务计划创建多个组。 例如,如果有用户使用 Office 365 企业版 E1,也有用户 使用 Office 365 企业版 E3,则可创建两个组来授权 Microsoft 工作区分析:一个使用 E1 作为先决条件,另一个使用 E3。 这样,不需要额外的许可证,即可将附加产品分发到 E1 和 E3 用户。

强制执行组许可证处理以解决错误

问题:根据解决错误时采取的措施,可能需要手动触发组的处理来更新用户状态。

例如,如果通过删除用户的直接许可证分配来释放某些许可证,则需要触发以前无法完全为所有用户成员提供许可证的组的处理。 若要重新处理某个组,请转到组窗格,打开“许可证”,并在工具栏中选择“重新处理”按钮。

强制执行用户许可证处理以解决错误

问题:根据解决错误时采取的措施,可能需要手动触发用户的处理来更新用户状态。

例如,解决受影响用户的重复代理地址问题后,需要触发用户的处理。 若要重新处理某个用户,请转到用户窗格,打开“许可证”,并在工具栏中选择“重新处理”按钮。

后续步骤

若要详细了解通过组进行许可证管理的其他方案,请参阅以下部分: