2017-02-22 71 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默认递归。

其他允许值是BaseOneLevel(搜索对象本身以及其直接儿童)(搜索仅在指定的路径本身对象)。


使用显式-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 )帐户名称或规范名称。“