скрипт powershell для запроса всех пользователей, принадлежащих к определенному имени группы и его вариантам - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь найти всех пользователей, принадлежащих к группе «Windows».я хочу отобразить их идентификатор, фамилию, имя.

желаемый формат вывода:

    Windows Users,1234567,John,Doe
    Windows Administators,7654321,Jane,Doe

этот однострочник делает меньше, чем я хочу, но мне нужно изменить параметрудостоверение личности каждый раз от «пользователей Windows» до «Windows PowerUsers» и «администраторов Windows» и т. д.

пример:

Get-ADGroupMember -identity "Windows Users" -Recursive | Get-ADUser | select SamAccountName, Surname, GivenName

, поэтому я попытался собрать все это вместе, но это дает мне ошибки,

$ADGroups = Get-ADGroup -Filter {name -like "Windows*"} 

foreach ($ADGroup in $ADGroups) {
    Get-ADGroup -filter {Name -eq $ADGroup.Name} | Get-ADGroupMember -identity 
    $ADGroup.Name -Recursive | Get-ADUser | select SamAccountName, Surname, GivenName
 }

Любые идеи будут с благодарностью.я не могу понять, как перехватить всех пользователей, принадлежащих к группе Windows *, таких как «Пользователи Windows», «Windows PowerUsers», «Администраторы Windows» и т. д.

Примечание: я посмотрел на это, но это не таквполне то, что я ищу скрипт Powershell для отображения всех пользователей в группе AD

спасибо.

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Ваш пример - хорошее начало.

Попробуйте это.Это должно сделать работу:

Get-ADGroup -Filter {name -like "Windows*"} | foreach {
    $currentGroup = $_.Name
    $_ | Get-ADGroupMember | foreach {
        $_ | Get-ADUser | select @{name="Group"; expression={ $currentGroup }}, SamAccountName, Surname, GivenName
    }
 }
0 голосов
/ 24 октября 2018

В данный момент у меня нет доступа к AD, но я бы попробовал

get-aduser -filter {memberof -like "Windows*"} -property samaccountname,surname,givenname,memberof | select samaccountname,surname,givenname

ИЛИ вы могли бы попробовать это в вашем первоначальном цикле foreach ...

get-adgroup -filter {name -eq $adgroup.name} | select -expand members | get-aduser $_ | select samaccountname,surname,givenname

Я не могу вспомнить, что производит "members", я считаю, что это samaccountname, если бы вы не могли добавить фильтр ldap в get-aduser -filter {whatever -eq $_}

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