2017-02-22 20 views
0

Если я бег следующей команды:Является ли Powershell Get-ADGroup рекурсивным?

$ADGroups = Get-ADGroup -SearchBase $SearchBase -Filter 'ObjectClass -eq "group"' 

будет что возвращение вложенных групп? Если нет, каков наилучший способ возврата вложенных групп?

Я попытался запустить следующую, но получаю сообщение об ошибке:

$ADGroups = Get-ADGroupMember -Identity $SearchBase 

Get-ADGroupMember : Cannot find an object with identity: 'OU=ABC,DC=COMPANY,DC=net' under: 'DC=COMPANY,DC=ne 
t'. 
At line:1 char:30 
+ $ADGroups = Get-ADGroupMember <<<< -Identity $SearchBase 
    + CategoryInfo   : ObjectNotFound: 

ответ

1

Get-ADGroups's help page Как гласит значение по умолчанию для параметра -SearchScope - что вы не используете - это Subtree.

Другими словами: да, Get-ADGroup- рекурсивный по умолчанию.

Другие допустимые значения Base (поиск только объект на самом указанному пути) и OneLevel (поиск самого объекта, а также его ближайших детей).


Используя явное -Filter значение 'ObjectClass -eq "group"' с Get-ADGroup не имеет смысла, потому что любые объекты, возвращаемый по определению быть группы.
Для того, чтобы найти все группы в указанной области поиска, просто используйте -Filter *:

$ADGroups = Get-ADGroup -Filter * -SearchBase $SearchBase 

Чтобы действительно получить члены групп рекурсивно, вы можете использовать Get-ADUserнепосредственно с -SearchBase имущество:

$members = Get-ADUser -Filter * -SearchBase $SearchBase 

Обратите внимание, что параметр -Identity может быть использован только для целевой один конкретного элемента, используя что-то, что однозначно идентифицирует его, а именно «его отличительное имя (DN), GUID, идентификатор безопасности (SID), диспетчер учетных записей безопасности (SAM) имя учетной записи или каноническое имя. ".

Смежные вопросы