私はこのコマンドレットを書きました:
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 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 }
Get-ADUserコマンドを試してください。これにより、ユーザーをより適切にフィルタリングできます。
get-aduser -filter(有効-eq $ true)-searchbase "OU"