Я пытаюсь получить список членов группы 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
0
Daniel Gower 16 Ноя 2018 в 21:27

1 ответ

Лучший ответ

Я считаю, что вам просто нужно передать параметр -Server в Get-ADGroupMember:

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

Это немного глупо.

0
Gabriel Luci 16 Ноя 2018 в 18:31