如何使用 Powershell 查找组成员以包括嵌套组的成员并包括父组的名称
How to use Powershell to find group membership to include members of nested groups and to include the name of the parent group
我正在尝试创建群组中所有用户的 CSV,以包括嵌套群组的成员,并映射每个成员所在的群组。
我发现以下 powershell 命令几乎可以完成此操作,但我还需要知道嵌套组中每个成员的嵌套组名称。
$MembersALL = @()
$MembersRecursiveALL = @()
$Groups = get-adgroup -Filter { Name -like "group name" } | sort Name | Select -expand Name
Foreach ($Group in $Groups) {
$Members = Get-ADGroupMember $Group | select-object @{Name='Group_Name';Expression={($Group)}}, Name, SamAccountName, objectClass
$MembersRecursive = Get-ADGroupMember $Group -recursive | select @{Name='Group_Name';Expression={($Group)}}, Name, SamAccountName, objectClass
$MembersALL = $MembersALL+$Members
$MembersRecursiveALL = $MembersRecursiveALL+$MembersRecursive
}
$MembersALL | Select * | export-csv '.\My Documents\ADquery\membersall.csv' -notypeinformation -encoding UTF8
$MembersRecursiveALL | Select * | export-csv '.\My Documents\ADquery\membersallrecursive.csv' -notypeinformation -encoding UTF8
有没有办法修改它以包含嵌套组的名称。对于嵌套组的每个成员?
目前此命令仅包含 "Group_name" 列中的原始搜索组名称,而不包含嵌套组的名称。
我找到了一个脚本来完成我想要做的事情:
https://gallery.technet.microsoft.com/scriptcenter/Get-nested-group-15f725f2
这满足了我的要求。
我正在尝试创建群组中所有用户的 CSV,以包括嵌套群组的成员,并映射每个成员所在的群组。
我发现以下 powershell 命令几乎可以完成此操作,但我还需要知道嵌套组中每个成员的嵌套组名称。
$MembersALL = @()
$MembersRecursiveALL = @()
$Groups = get-adgroup -Filter { Name -like "group name" } | sort Name | Select -expand Name
Foreach ($Group in $Groups) {
$Members = Get-ADGroupMember $Group | select-object @{Name='Group_Name';Expression={($Group)}}, Name, SamAccountName, objectClass
$MembersRecursive = Get-ADGroupMember $Group -recursive | select @{Name='Group_Name';Expression={($Group)}}, Name, SamAccountName, objectClass
$MembersALL = $MembersALL+$Members
$MembersRecursiveALL = $MembersRecursiveALL+$MembersRecursive
}
$MembersALL | Select * | export-csv '.\My Documents\ADquery\membersall.csv' -notypeinformation -encoding UTF8
$MembersRecursiveALL | Select * | export-csv '.\My Documents\ADquery\membersallrecursive.csv' -notypeinformation -encoding UTF8
有没有办法修改它以包含嵌套组的名称。对于嵌套组的每个成员?
目前此命令仅包含 "Group_name" 列中的原始搜索组名称,而不包含嵌套组的名称。
我找到了一个脚本来完成我想要做的事情:
https://gallery.technet.microsoft.com/scriptcenter/Get-nested-group-15f725f2
这满足了我的要求。