PowerShell - 将搜索限制为仅一个OU

Modified on: Wed, 04 Sep 2019 10:20:02 +0800

我有这个cmdlet,我想将结果限制为只有一个OU:

Get-ADUser -Filter  {(Enabled -eq $false)} | ? { ($_.distinguishedname -notlike '*Disabled Users*') } 

现在我尝试使用

-searchbase "ou=FirstOU,dc=domain,dc=com"

但如果我使用-SearchBase,我会收到此错误:

Where-Object : A parameter cannot be found that matches parameter name 'searchb
ase'.
At line:1 char:114
+ Get-ADUser -Filter  {(Enabled -eq $false)} | ? { ($_.distinguishedname -notli
ke '*Disabled Users*') } -searchbase <<<<  "ou=FirstOU,dc=domain,dc=com"
    + CategoryInfo          : InvalidArgument: (:) [Where-Object], ParameterBi
   ndingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Comm
   ands.WhereObjectCommand

我尝试做的是从特定的OU中获取所有已禁用的用户,但是,我想要排除的是OU INSIDE:“禁用用户”OU。

您可能已经猜到我想在特定OU中找到不在该OU内“禁用用户”OU中的已禁用用户。

我的结构:

Forest FirstOU Users,groups,etc... Disabled Users OU

作者:NirPes

最佳答案

-SearchBase参数必须与Get-ADUser一起使用,而不是Where-Object(别名为?)。这应该有效:

Get-ADUser -Filter {(Enabled -eq $false)} -SearchBase "ou=FirstOU,dc=domain,dc=com" | ? { ($_.distinguishedname -notlike '*Disabled Users*') }

相关问答

添加新评论