web-dev-qa-db-ja.com

PowerShell-非アクティブで無効になっていないユーザーを見つける

私はこのコマンドレットを書きました:

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

誰か助けてくれませんか?

3
Npv23g

それを逆にフィルタリングしますか?:

Search-ADAccount -UsersOnly -AccountInactive -TimeSpan 30.00:00:00 |where {$_.enabled}
4
Adil Hindistan

Search-ADAccountは、パラメータ-Filterを受け入れません。サポートされているパラメーターのリストについては、 Technet docs またはGet-Help Search-ADAccountを参照してください。

検索結果をWhere-Objectにパイプして、有効なユーザーのみを取得できます。

Search-ADAccount -UsersOnly -SearchBase "ou=FirstOU,dc=domain,dc=com" -AccountInactive -TimeSpan 30 |
    Where-Object { $_.Enabled -eq $true }
4
jscott

Get-ADUserコマンドを試してください。これにより、ユーザーをより適切にフィルタリングできます。

get-aduser -filter(有効-eq $ true)-searchbase "OU"

0
user320509