Назад | Перейти на главную страницу

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

Может кто-нибудь помочь?

В 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 }

Фильтровать иначе ?:

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

Попробуйте команду get-ADUser, она позволяет лучше фильтровать пользователей.

get-aduser -filter (включен -eq $ true) -searchbase "OU"