Как я могу получить всех участников в одной группе AD со многими дочерними группами по PowerShell? - PullRequest
0 голосов
/ 18 марта 2020

Я хочу получить uerprincipalname всех членов группы AD, но там есть несколько дочерних групп. Я хочу знать, как это сделать, изменить код ниже для достижения цели. $UserList=Get-ADGroupmember -identity adgroup | % { get-aduser $_.samaccountname | select userprincipalname }

1 Ответ

2 голосов
/ 18 марта 2020

Если я правильно понял вопрос, ваш код почти делает то, что вы хотите, теперь он также показывает только другие объекты AD, а не только пользователей.

Если это так, вам нужно вставить Where-Object Предложение для фильтрации всех объектов, не относящихся к пользователю:

$UserList = Get-ADGroupmember -Identity adgroup -Recursive |
            Where-Object { $_.objectClass -eq 'user' } | ForEach-Object { 
                Get-ADUser -Identity $_.SamAccountName | Select-Object UserPrincipalName 
            }

Это вернет массив объектов . Если вам нужен массив строк (только UserPrincipalNames), добавьте параметр ExpandProperty к объекту выбора:

Select-Object -ExpandProperty UserPrincipalName

PS Если вы хотите только получить список пользователей, прямой член группы, вы можете удалить переключатель -Recursive

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...