3

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

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

  2. Как мне запросить у WebSiteUsers список пользователей (в удобочитаемом формате), который я могу сравнить с другой группой, чтобы убедиться, что все люди, которым нужен доступ к этому ресурсу, были добавлены? Предположим, что в этом примере к WebSiteUsers добавлено несколько тысяч учетных записей, поэтому визуальный осмотр невозможен. Я бы предпочел использовать Excel для сравнения списков пользователей, поэтому экспорт CSV или какого-либо текстового файла, которым я могу манипулировать в Excel, был бы идеальным.

1 ответ1

3

Чтобы найти 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. Чтобы экспортировать его, нажмите кнопку «Экспорт списка». Это выведет в текстовый файл с разделителями табуляции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .