Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Powershell查找组成员身份以包括嵌套组的成员和父组的名称_Powershell_Active Directory Group - Fatal编程技术网

如何使用Powershell查找组成员身份以包括嵌套组的成员和父组的名称

如何使用Powershell查找组成员身份以包括嵌套组的成员和父组的名称,powershell,active-directory-group,Powershell,Active Directory Group,我试图创建一个组中所有用户的CSV,以包括嵌套组的成员,并映射每个成员所在的组 我发现下面的powershell命令几乎可以实现这一点,但我还需要知道嵌套组中每个成员的嵌套组的名称 $MembersALL = @() $MembersRecursiveALL = @() $Groups = get-adgroup -Filter { Name -like "group name" } | sort Name | Select -expand Name Foreach ($Group in $

我试图创建一个组中所有用户的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
是否有办法修改此项以包含嵌套组的名称。对于嵌套组的每个成员


当前,此命令仅在“组名称”列中包含原始搜索组名称,而不包括嵌套组的名称。

我找到了一个脚本,该脚本执行我尝试执行的操作:

$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

这符合我的要求