You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AD查询同时属两个组的用户时遇JSON解析错误求助

Azure AD PowerShell JSON解析错误解决方法

错误原因

  • 模块混用冲突:同时使用Az模块(Get-AzADGroupMember)和AzureAD模块(Get-AzureADUserMembership),两个模块的认证上下文不兼容,导致API返回HTML错误页面而非预期的JSON数据,触发JSON解析失败。
  • 参数传递错误:
    • Get-AzADGroupMember -GroupObjectId未传入具体的组ObjectId参数,无法正确获取组成员。
    • Select-Object ID返回的是包含ID属性的对象,直接将该对象传给Get-AzureADUserMembership的-ObjectId参数,会传入非字符串格式的ID,引发请求异常。
  • 未过滤成员类型:Get-AzADGroupMember会返回用户、组、服务主体等多种类型成员,对非用户对象调用Get-AzureADUserMembership会触发额外错误。

修正后的脚本

方案1:统一使用AzureAD模块

# 替换为目标组的ObjectId
$targetGroupId = "你的组ObjectId"
# 获取组内所有用户成员
$groupUsers = Get-AzureADGroupMember -ObjectId $targetGroupId | Where-Object {$_.ObjectType -eq "User"}

foreach ($user in $groupUsers) {
    # 检查用户是否属于ABC开头的组
    $matchingGroups = Get-AzureADUserMembership -ObjectId $user.ObjectId | Where-Object {$_.DisplayName -like 'ABC*'}
    if ($matchingGroups) {
        [PSCustomObject]@{
            用户名称 = $user.DisplayName
            用户ID = $user.ObjectId
            匹配的组 = $matchingGroups.DisplayName -join ", "
        }
    }
}

方案2:统一使用Az模块(推荐,Azure PowerShell最新版本)

# 替换为目标组的ObjectId
$targetGroupId = "你的组ObjectId"
# 获取组内所有用户成员
$groupUsers = Get-AzADGroupMember -GroupObjectId $targetGroupId | Where-Object {$_.Type -eq "User"}

foreach ($user in $groupUsers) {
    # 检查用户是否属于ABC开头的组
    $matchingGroups = Get-AzADUserMembership -ObjectId $user.Id | Where-Object {$_.DisplayName -like 'ABC*'}
    if ($matchingGroups) {
        [PSCustomObject]@{
            用户名称 = $user.DisplayName
            用户ID = $user.Id
            匹配的组 = $matchingGroups.DisplayName -join ", "
        }
    }
}

核心修正点

  • 统一模块:全程使用同一模块(AzureAD或Az),避免认证上下文冲突。
  • 传入有效组ID:给Get-AzADGroupMember/Get-AzureADGroupMember指定具体的组ObjectId。
  • 传递正确ID格式:提取成员的Id(Az模块)或ObjectId(AzureAD模块)字符串属性,而非整个对象。
  • 过滤用户成员:只对用户类型的成员执行检查组操作,排除非用户对象。
  • 结构化输出:返回清晰的用户与匹配组信息,便于查看结果。

内容的提问来源于stack exchange,提问作者Xu Tower

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 12:35:26