导出多个 Azure AD 组成员

Export Multiple Azure AD group members

我正在使用下面的代码片段,而不是 -ALL 我试图传递特定的 ObjectId 或过滤器组名称但出现以下错误。请帮忙解决这个问题。

$groups=Get-AzureADGroup -ObjectId "Group1" - 适用于一个但不适用于多个 ObjectId

$groups=Get-AzureADGroup -filter{Name -like "ABC*"} - Get-AzureADGroup:无法评估参数 'Filter'


    Connect-AzureAD
    $groups=Get-AzureADGroup -All $true
    $resultsarray =@()
    ForEach ($group in $groups){
        $members = Get-AzureADGroupMember -ObjectId $group.ObjectId -All $true 
        ForEach ($member in $members){
           $UserObject = new-object PSObject
           $UserObject | add-member  -membertype NoteProperty -name "Group Name" -Value $group.DisplayName
           $UserObject | add-member  -membertype NoteProperty -name "Member Name" -Value $member.DisplayName
           $UserObject | add-member  -membertype NoteProperty -name "ObjType" -Value $member.ObjectType
           $UserObject | add-member  -membertype NoteProperty -name "UserType" -Value $member.UserType
           $UserObject | add-member  -membertype NoteProperty -name "UserPrinicpalName" -Value $member.UserPrincipalName
           $resultsarray += $UserObject
        }
    }
    $resultsarray | Export-Csv -Encoding UTF8  -Delimiter ";" -Path "C:\scripts\output.csv" -NoTypeInformation

$groups=Get-AzureADGroup -All
$result=new-object system.colletions.arraylist

foreach($group in $groups)
{
    $members=$group.members
    foreach($member in $members)
    {
        $result.add(
            [PSCustomObject]@{
                "Group Name"=$group.DisplayName
                "Member Name"=$member.DisplayName
                "ObjType"=$member.ObjectType
                "UserType"=$member.UserType
                "UserPrinicpalName"=$member.UserPrincipalName
        }) > $null
    }
}

如果您想搜索特定的群组,您可以使用 -SearchString 'groupName' 或群组列表:

$groups='group1,group2,group3'.split(',')|%{
    Get-AzureADGroup -SearchString $_
}