Azure动态组许可证

ikfrs5lh  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(112)

我们现在正在Azure中分配基于组的许可证,但是有很多人在一段时间前加入并且尚未接受邀请,因此我们需要从动态组中删除尚未接受邀请的用户,以便我们可以减少许可证消耗。
但动态组规则中没有“邀请接受状态”;有什么办法可以做到吗?
https://learn.microsoft.com/en-us/azure/active-directory/external-identities/use-dynamic-groups
谢谢Dev

6mzjoqzu

6mzjoqzu1#

若要从动态组中删除个成员,需要修改动态成员规则。
由于动态组规则中没有“邀请状态”属性,您可以使用PowerShell脚本作为替代方式来实现您的需求。
我有几个用户的“邀请状态”为**PendingAcceptance**如下:

当我用membership ruleas (user.mail -match“@ xyz.com“)和(user.accountEnabled -eq true) 创建动态组时,我在组中得到的成员如下:

现在,我运行下面的PowerShell脚本,该脚本过滤具有“邀请状态”的用户为**PendingAcceptance**,并将其排除在成员资格规则中:

Connect-MgGraph -Scopes "Directory.ReadWrite.All"
$groupId = "dynamicgroupId"
$users = Get-MgUser -Filter "externalUserState eq 'PendingAcceptance'" | Select-Object -ExpandProperty Id | ConvertTo-Json
$domain = "@xyz.com"
$rule = "(user.mail -match ""$domain"") and (user.accountEnabled -eq true) and -not (user.objectId -in $users)"
$rule
Update-MgGroup -GroupId $groupId -MembershipRule $rule

回复:

当我在Portal中检查相同时,动态成员规则更新成功,如下所示:

这将自动从动态组中删除状态为**PendingAcceptance**的用户,如下所示:

相关问题