将所有Azure AD组及其成员和所有者导出到一个CSV文件中的PowerShell脚本是什么?我还需要一个扩展嵌套组。
8qgya5xd1#
下面是我想出的一些东西。只要你有AzureAD PowerShell模块,它就应该工作。
function get-recursivegroupmembers { param($grouplistname, $currgroup, $groupmemtype) $members = if ($groupmemtype -eq "owner") {get-azureadgroupowner -ObjectId $currgroup.ObjectId -All $true} else {get-azureadgroupmember -ObjectId $currgroup.ObjectId -All $true} $grouptype = "Distribution Group" if ($currgroup.SecurityEnabled -eq $true) { $grouptype = "Security Group" } foreach ($member in $members) { if($member.ObjectType -eq "Group" ) { get-recursivegroupmembers "$grouplistname->$($member.DisplayName)" $member $groupmemtype } else { Add-Content -Path $filename -Value "$grouplistname,$grouptype,$groupmemtype,$($member.ObjectId),$($member.ObjectType) $($member.UserType),$($member.UserPrincipalName)" } } } Connect-AzureAD $filename = ".\groupusers-$(get-date -f 'ddMMyyyy-HHmmss').csv" $groups = Get-AzureADGroup -All $true Add-Content -Path $filename -Value "Group(s),Group Type,Member Type,User ObjectId,AAD Object Type,UPN" ForEach ($group in $groups) { get-recursivegroupmembers $group.DisplayName $group "owner" get-recursivegroupmembers $group.DisplayName $group "member" }
这将在脚本所在的当前文件夹中给予你一个文件,叫做groupusers,第一个字段将包含组,如果它是嵌套组成员,它将显示为group-〉nestedgroup,owner或member,等等。
kb5ga3dv2#
抱歉,我没有足够的代表不能发表评论,我创建了一个帐户,以感谢你彼得。这是一种享受。我尝试了许多其他文章,但这篇文章是有效的。我所做的一切是针对具有特定命名方案的组,更改这一行并删除$true,因为这表示“无法找到接受参数True的位置参数”
$groups = Get-AzureADGroup -SearchString "File Share"
然后搜索以“File Share”开头的任何组
2条答案
按热度按时间8qgya5xd1#
下面是我想出的一些东西。只要你有AzureAD PowerShell模块,它就应该工作。
这将在脚本所在的当前文件夹中给予你一个文件,叫做groupusers,第一个字段将包含组,如果它是嵌套组成员,它将显示为group-〉nestedgroup,owner或member,等等。
kb5ga3dv2#
抱歉,我没有足够的代表不能发表评论,我创建了一个帐户,以感谢你彼得。
这是一种享受。我尝试了许多其他文章,但这篇文章是有效的。我所做的一切是针对具有特定命名方案的组,更改这一行并删除$true,因为这表示“无法找到接受参数True的位置参数”
然后搜索以“File Share”开头的任何组