【发布时间】:2018-11-17 02:31:21
【问题描述】:
我正在尝试获取 AD 组成员列表,其中每个组的成员分别列出。我可以列出所有组的所有成员,但是如何区分每个组的成员?
这就是我正在运行的:
get-ADGroup -Server "<server_name>" -filter {Name -like "*<common_text_in_each_group's_name*"} | get-ADGroupMember
不幸的是,我试图在单行中执行此操作,因为当我尝试创建一个 ps1 文件并运行它时,我收到一个错误,它无法在我的本地计算机登录的域中找到组。即, -Server 参数不起作用。所有组都与我运行 PS 的机器位于不同的域中。
当我尝试创建一个 script/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
【问题讨论】:
标签: powershell active-directory