Попытка получить вложенный список пользователей в группе в Active PowerShell Directory

Я пытаюсь получить список пользователей в группе в активном каталоге. У нас есть несколько доменов. Я хочу запустить его из центрального расположения, которое будет опрашивать каждый домен для каждой группы. Кроме того, я хочу, чтобы он также отображал вложенные элементы.

В настоящее время я пытался запустить это, и это вроде работало, когда машина находилась в том же домене, что и домен, который я опрашиваю. Все члены и вложенные члены отображаются.

dsquery group -samid "group name" | dsget group -members -expand >c:\list.txt

"cn=username,ou=users,dc=domain1,dc=com"

Но когда я пытаюсь опросить другой домен, ничего не получается.

dsquery group -samid "cn=group name,cn=users,dc=domain2,dc=com" | dsget group -members -expand >c:\list.txt

dsget failed: 'target object for this command' is  missing

Тогда, если я попробую это без того же идентификатора, я получу вывод.

dsquery group "cn=group name,cn=users,dc=domain2,dc=com" | dsget group -members -expand >c:\list.txt

"CN=username2,OU=users,DC=domain2,DC=com"
"CN=S-1-5-21,CN=ForeignSecurityPrincipals,DC=domain1,DC=com"
"cn=group name,ou=users,dc=domain2,dc=com"

Таким образом, я получаю идентификаторы, и это не показывает вложенные члены.

Что я могу сделать, чтобы получить разрешение для правильных вложенных членов и не-sids? Кроме того, как мне сделать так, чтобы он опрашивал несколько имен групп в нескольких доменах? Или я должен просто отделить все это и сделать по одному?

Заранее спасибо!

2 ответа

Насколько я понимаю, на ваш вопрос частично ответили в Списке пользователей в группе объявлений рекурсивно со скриптом powershell без CmdLets

Но если вы работаете в среде W2K8R2, вы можете использовать модуль Active-Directory.

Import-Module activedirectory
Get-ADGroupMember groupName -Recursive

Во всех случаях вам нужно запросить свой результат из GC "с использованием опции глобального каталога"

  • Если у вас есть SamID в качестве ввода, используйте ниже:

dsquery group -samid "групповой SamID" -gc | группа dsget -memberof -expand

  • НО ЕСЛИ у вас есть DistinguishedName в качестве входных данных ниже:

dsget group "Отличительное имя группы" -gc | группа dsget -memberof -expand

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