简体   繁体   English

列出具有每个组名称的多个AD组中的用户的命令

[英]Command to List Users From Multiple AD Groups WITH Each Group Name

I'm trying to get a list of AD group members with each Group's members listed separately. 我正在尝试获取AD组成员的列表,其中每个组的成员分别列出。 I can list out all members of all groups, but how to separate the membership of each group? 我可以列出所有组的所有成员,但是如何区分每个组的成员呢?

This is what I'm running: 这是我正在运行的:

get-ADGroup -Server "<server_name>" -filter {Name -like  "*<common_text_in_each_group's_name*"} | get-ADGroupMember

Unfortunately I'm trying to do this in a one-liner because when I try to create a ps1 file and run it, I get an error that it cannot find the groups in the domain my local machine is logged in to. 不幸的是,我试图以一种方式来执行此操作,因为当我尝试创建一个ps1文件并运行它时,出现一个错误,它找不到本地计算机登录到的域中的组。 IE, the -Server argument doesn't work. IE,-Server参数不起作用。 All the groups are in a different domain from the machine I'm running PS on. 所有组都与运行PS的计算机位于不同的域中。

When I did try creating a script/ps1 file, this is what I tried: 当我尝试创建脚本/ ps1文件时,这是我尝试的方法:

$Groups = (Get-AdGroup -server '<server_name>' -filter * | Where {$_.name -like "*_some_text*"} | select name -expandproperty name)


$Table = @()

$Record = [ordered]@{
"Group Name" = ""
"Name" = ""
"Username" = ""
}



Foreach ($Group in $Groups)
{

$Arrayofmembers = Get-ADGroupMember -identity $Group | select name,samaccountname

foreach ($Member in $Arrayofmembers)
{
$Record."Group Name" = $Group
$Record."Name" = $Member.name
$Record."UserName" = $Member.samaccountname
$objRecord = New-Object PSObject -property $Record
$Table += $objrecord

}

}

$Table | export-csv "C:\temp\x_Groups.csv" -NoTypeInformation

I believe you just need to pass the -Server parameter to Get-ADGroupMember too: 我相信您也只需将-Server参数传递给Get-ADGroupMember

$Arrayofmembers = Get-ADGroupMember -identity $Group -server '<server_name>' | select name,samaccountname

It's kind of dumb that way. 这样有点愚蠢。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM