我正在尝试获取AD组成员的列表,并分别列出每个组的成员。我可以列出所有组的所有成员,但是如何区分每个组的成员?
这是我正在运行的:
get-ADGroup -Server "<server_name>" -filter {Name -like "*<common_text_in_each_group's_name*"} | get-ADGroupMember
不幸的是,我试图以单线方式执行此操作,因为当我尝试创建ps1文件并运行它时,出现一个错误,它找不到本地计算机登录到的域中的组。即,-Server参数不起作用。所有组都与我在其上运行PS的计算机所在的域不同。
当我尝试创建脚本/ 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
答案 0 :(得分:0)
我相信您也只需将-Server
参数传递给Get-ADGroupMember
:
$Arrayofmembers = Get-ADGroupMember -identity $Group -server '<server_name>' | select name,samaccountname
那样有点愚蠢。