Попытка получить вложенный список пользователей в группе в 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