通过 powershell 导出 azure 广告组成员资格

问题描述 投票:0回答:3

我需要 powershell 脚本方面的帮助。我希望获取 CSV 文件中多个组的 Azure AD、组成员身份详细信息。

我想要得到的格式是:

群组名称:SG-Test-Users
成员:xyz、abc 等

Output needed in this format

请帮忙

我尝试了下面的脚本,但它没有给出我正在寻找的格式的输出。

Import-Csv -Path "C:\temp\testgroup.csv" | ForEach-Object {Get-AzureADGroupMember -ObjectId $_.name | select displayname,userprincipalname} | Export-Csv -Path "c:\temp\outputfile1.csv" -NoTypeInformation

谢谢,

powershell azure-active-directory azure-powershell
3个回答
0
投票

尝试下面的命令,它在我这边工作得很好。 注意它将把数据附加到文件而不是覆盖。

$csv = Import-Csv "C:\Users\joyw\Desktop\testgroup.csv"
foreach ($line in $csv){
    $groupname = $line.GroupName
    $objectid = (Get-AzureADGroup | Where-Object {$_.DisplayName -eq $groupname}).ObjectId
    Get-AzureADGroupMember -ObjectId $objectid | select DisplayName,UserPrincipalName | Export-Csv -Path "C:\Users\joyw\Desktop\outputfile1.csv" -NoTypeInformation -Append
}

我的测试文件:

测试组.csv

输出文件1.csv


0
投票

我是新手,但这是我的看法

尝试下面(根据需要修改输出),然后将控制台输出保存到文件并根据需要在excel中进行按摩

干杯

    $gg=Get-AzureADGroup -top 200
    ForEach ($g in $gg){
        $a = Get-AzureADGroup -ObjectId $g.ObjectId  
        $b = Get-AzureADGroupMember -ObjectId $g.ObjectId -All $true 
        ForEach ($c in $b){ 
            Write-host  $a.DisplayName ";" $c.ObjectId ";" $c.ObjectType $c.UserType ";" $c.UserPrincipalName 
        }
    } 

0
投票
$ResourceAuditArray = @()
ForEach ($g in Get-AzureADGroup -SearchString "<first word of groups e.g. DFC, ADF, DAS>"){ 
    $ResourceAuditArray += Get-AzureADGroupMember -ObjectId $g.ObjectId -All $true  | Select-Object ObjectId, ObjectType, UserType, UserPrincipalName, @{n="DisplayName"; e={$g.DisplayName}}
} 

$ResourceAuditArray | Export-Csv  "<AAD Users list>.Csv"
© www.soinside.com 2019 - 2024. All rights reserved.