Запрос членов группы Active Directory

Таким образом, в активном каталоге есть группа WebSiteUsers, которая используется для разрешения доступа к папке, которую я размещаю через IIS. Мне было интересно (используя DSQuery, ADFind или любой свободно доступный инструмент), как сделать следующее:

  1. Как запросить отличительное имя WebSiteUsers (предположим, что оно скрыто в нескольких подразделениях в AD)?

  2. How do I query WebSiteUsers to produce a list of users (in human readable format) that I can compare against another group to make sure all of the people who need access to this resource have been added? For this example, assume WebSiteUsers has a few thousand accounts added to it so visual inspection is not an option. I would prefer to use excel to compare the lists of users, so exporting a CSV or some sort of text file I can manipulate in excel would be ideal.

1 ответ

Решение

Чтобы найти DN, запустите команду dsquery group -name WebSiteUsers


Если у вас есть контроллер домена, настроенный для PowerShell (вы должны, это здорово), вы можете запустить команду $WebSiteUsers = Get-ADUser -Filter {memberOf -RecursiveMatch CN=WebSiteUsers,OU=Lemings,OU=CorporateBranch,DC=example,DC=com' а также $WebSiteUsers | Export-CSV для вывода в CSV. Вы также можете использовать Compare-Object команда вроде так:

$WebSiteUsers = Get-ADUser -Filter {memberOf -RecursiveMatch CN=WebSiteUsers,OU=Lemings,OU=CorporateBranch,DC=example,DC=com'
$OtherGroupUsers = Get-ADUser -Filter {memberOf -RecursiveMatch CN=OtherGroups,OU=Lemings,OU=CorporateBranch,DC=example,DC=com'
Compare-Object -ReferenceObject $WebSiteUsers -DifferenceObject $OtherGroupUsers -Property Name

Это исключит список имен, которые не входят в ту или иную группу. (Добавлять -IncludeEqual если вы хотите видеть всех.) Это значительно облегчит визуальный осмотр:

Jim Bob                      =>                                                                                               
Suzie Q                      <=                                                                                               
Harold Johnson               <=  

Если вы хотите добавить всех, кто входит в другую группу, в группу WebSiteUsers:

Compare-Object $OtherGroupUsers $WebSiteUsers | Where {$_.SideIndicator -eq '=>'} | foreach{Add-ADGroupMember -Identity WebSiteUsers -Members $_}

Не мешало бы добавить -WhatIf в команду Add-ADGroupMember, чтобы дважды проверить, что она будет делать то, что задумано.


Вы также можете получить этот список, используя оснастку "Active Directory - пользователи и компьютер". Для этого вам потребуется установить RSAT с вашей рабочей станции, в противном случае вы можете подключиться к контроллеру домена и открыть его.

Щелкните правой кнопкой мыши на Сохраненные запросы и выберите Новый, Запрос:

введите описание здесь

Дайте ему произвольное имя и краткое описание, затем нажмите "Определить запрос":

введите описание здесь

Под Find: Выбрать Custom Search, Нажмите на поле и выберите Пользователь, Член

введите описание здесь

Введите название группы, которую вы хотите включить, и нажмите Добавить:

введите описание здесь

Теперь вы можете просмотреть этот список в ADUC. Чтобы экспортировать его, нажмите кнопку "Экспорт списка". Это выведет в текстовый файл с разделителями табуляции.

введите описание здесь

Другие вопросы по тегам