Active Directory - 在没有子OU的特定OU中搜索

时间:2017-05-17 12:21:05

标签: windows powershell

我有以下代码:

Get-ADUser -SearchBase ‘OU=test,OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM’ -Filter * | ForEach-Object {Add-ADGroupMember -Identity ‘myspecialgroup’ -Members $_ }

我希望它只能在那个特定的"测试" OU,没有子OU ......这可能吗?

1 个答案:

答案 0 :(得分:3)

您所描述的区别是搜索的“范围”,其中Get-ADUserSearchScope选项控制。默认值为Subtree,它从搜索基础开始搜索整个树;您想要的是将搜索限制为基础对象的直接子项,SearchScope OneLevel

Get-ADUser -SearchBase ‘OU=test,OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM’ \
 -SearchScope OneLevel -Filter * | 
 ForEach-Object { Add-ADGroupMember -Identity ‘myspecialgroup’ -Members $_ }

SearchScope还有第三个选项:Base,它将“搜索”限制为您指定为SearchBase的特定对象。在这种情况下,如果一个对象符合条件,该命令将返回该对象,如果没有(或根本不存在),则返回任何内容。