Powershell Get-ADGroup是递归的吗?

时间:2017-02-22 02:06:22

标签: powershell active-directory

如果我正在运行以下命令:

$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 个答案:

答案 0 :(得分: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 

实际上获得群组&#39;递归地成员,您可以直接使用Get-ADUser -SearchBase属性:

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

请注意,-Identity参数只能用于定位一个特定项目,使用唯一标识它的内容,即&#34;其专有名称(DN),GUID,安全标识符(SID),安全帐户管理器(SAM)帐户名称或规范名称。&#34;。