PowerShell - 查找不活动且未禁用的用户

Npv*_*23g 4 powershell active-directory user-accounts organizational-unit

我写了这个cmdlet:

Search-ADAccount -filter {(enabled -eq $true)} -Users Only -SearchBase "ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30
Run Code Online (Sandbox Code Playgroud)

但它输出一个错误:

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
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

jsc*_*ott 5

Search-ADAccount接受参数-Filter。请参阅Technet 文档Get-Help Search-ADAccount支持的参数列表。

您可以通过管道传输搜索结果以Where-Object仅获取启用的用户:

Search-ADAccount -UsersOnly -SearchBase "ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30 |
    Where-Object { $_.Enabled -eq $true }
Run Code Online (Sandbox Code Playgroud)