我写了这个cmdlet:
Search-ADAccount -filter {(enabled -eq $true)} -Users Only -SearchBase "ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30
但是它输出一个错误:
Search-ADAccount : A parameter cannot be found that matches parameter name 'fil ter'. At line:1 char:25 + Search-ADAccount -filter <<<< {(enabled -eq $true)} -UsersOnly -SearchBase " ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30 + CategoryInfo : InvalidArgument: (:) [Search-ADAccount], Paramet erBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory .Management.Commands.SearchADAccountCmdlet
有人可以帮忙吗?
以另一种方式过滤?
Search-ADAccount -UsersOnly -AccountInactive -TimeSpan 30.00:00:00 |where {$_.enabled}
Search-ADAccount
不接受参数-Filter
。 请参阅Technet文档或Get-Help Search-ADAccount
以Get-Help Search-ADAccount
支持的参数列表。
您可以将search结果通过pipe道传递给Where-Object
以获取仅启用的用户:
Search-ADAccount -UsersOnly -SearchBase "ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30 | Where-Object { $_.Enabled -eq $true }
试试get-ADUser命令,它可以让你更好地过滤你的用户。
get-aduser -filter(启用-eq $ true)-searchbase“OU”