排查和解决组问题

本文包含属于 Microsoft Entra 的 Microsoft Entra ID 中的组的故障排除信息。

排查组创建问题

已禁止在 Azure 门户中创建安全组,但仍可以通过 PowerShell 创建组
Azure 门户中的“用户可以在 Azure 门户中创建安全组”设置控制非管理员用户是否可以在 Access 面板或 Azure 门户中创建安全组。 它不通过 PowerShell 控制安全组的创建。

若要禁止非管理员用户在 PowerShell 中创建组,请执行以下操作:

  1. 验证是否允许非管理员用户创建组:

    Get-MgBetaDirectorySetting | select -ExpandProperty values
    
  2. 如果它返回 EnableGroupCreation : True,则非管理员用户可以创建组。 若要禁用此功能,请执行以下操作:

     Install-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     $params = @{
     TemplateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
     Values = @(		
     	@{
     		Name = "EnableGroupCreation"
     		Value = "false"
     	}		
     )
     }
     Connect-MgGraph -Scopes "Directory.ReadWrite.All"
     New-MgBetaDirectorySetting -BodyParameter $params
    
    

尝试在 PowerShell 中创建动态组时,收到允许的最大组数错误

每个组织最多可以有 5,000 个动态组。 达到组织中最大动态组数时,PowerShell 中会收到一条消息,指出 动态组策略最大允许的组计数达到

如果遇到此限制,若要创建新的动态组,首先需要删除一些现有的动态组。 没有办法提高限制。

排查动态成员资格组问题

我在组上配置了一个规则,但该组中的成员身份未更新

  1. 验证规则中用户或设备属性的值。 确保有满足规则的用户。 对于设备,请检查设备属性,确保任何已同步的属性都包含预期值。
  2. 检查成员身份处理状态以确认是否已完成。 可在组的“概述”页上查看成员资格处理状态和上次更新日期。

如果一切正常,等待一段时间,让组得到填充。 根据 Microsoft Entra 组织的大小,在首次填充时或规则更改后,组可能需要最长 24 小时完成填充。

我配置了一条规则,但现在却删除了该规则的现有成员
这是预期行为。 在启用或更改某个规则时,会删除组中的现有成员。 并非所有现有成员都会被删除,只有不再满足新规则的用户。 从新规则的评估返回的用户将作为成员添加到组。 同时满足现有规则和新规则的用户将保留在动态组中。 不会临时删除其许可证分配,也不会删除其角色分配。

我在添加或更改规则后未立即看到成员身份变化,这是为什么?

专用成员身份评估定期在异步后台进程中执行。 目录中的用户数和生成的组的大小都会影响处理时间。

通常,用户较少的目录会在不到几分钟内看到动态成员组的变更。 而具有大量用户的目录可能需要 30 分钟或更长时间才能填充信息。

如何强制立即处理组?
目前没有办法自动触发要按需处理的组。 但是,可以通过更新成员身份规则,在末尾添加空白,来手动触发重新处理。

遇到了规则处理错误
下表列出了动态成员资格组常见的规则错误及其解决方法。

规则分析器错误 错误用法 更正的用法
错误: 不支持的属性。 (user.invalidProperty -eq "Value") (user.department -eq "value")

请确保该属性在支持的属性列表中。
错误:不支持对属性使用运算符。 (user.accountEnabled -contains true) (user.accountEnabled -eq true)

属性类型不支持所使用的运算符(在此示例中,-contains 不能用于布尔类型)。 请对该属性类型使用正确的运算符。
错误: 查询编译错误。 1. (user.department -eq "Sales") (user.department -eq "Marketing")
2. (user.userPrincipalName -match "*@domain.ext")
1.缺少运算符。 使用 -and 或 -or 这两个联接谓词
(user.department -eq "Sales") -or (user.department -eq "Marketing")
2.与 -match 一起使用的正则表达式出错
(user.userPrincipalName -match ".*@domain.ext")
或:(user.userPrincipalName -match "@domain.ext$")

后续步骤

这些文章提供了有关 Microsoft Entra ID 的其他信息。