Active-Directory
PowerShell - 將搜尋限制為僅一個 OU
我有這個 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 中獲取所有禁用的使用者,但是,在我想要排除的 FirstOU 裡面有一個 OU:“禁用的使用者”OU。
正如您可能已經猜到的那樣,我想在特定 OU 中找到不在該 OU 內的“禁用使用者”OU 中的禁用使用者。
我的結構:
Forest FirstOU Users,groups,etc... Disabled Users OU
該
-SearchBase
參數必須與 Get-ADUser 一起使用,而不是 Where-Object(由 ? 別名)。這應該有效:Get-ADUser -Filter {(Enabled -eq $false)} -SearchBase "ou=FirstOU,dc=domain,dc=com" | ? { ($_.distinguishedname -notlike '*Disabled Users*') }
將搜尋限制為一個的最簡單方法
OU
是使用 SearchScope:Get-ADUser -Filter {(Enabled -eq $false)} -SearchScope OneLevel -SearchBase "ou=FirstOU,dc=domain,dc=com"