4 votes

PowerShell - trouver les utilisateurs qui sont inactifs ET non désactivés

J'ai écrit ce cmdlet :

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

Mais il produit une erreur :

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

Quelqu'un pourrait-il m'aider ?

5voto

jscott Points 23974

El Search-ADAccount n'accepte pas de paramètre -Filter . Veuillez consulter le Docs Technet o Get-Help Search-ADAccount pour obtenir la liste des paramètres pris en charge.

Vous pouvez transmettre les résultats de la recherche à Where-Object pour obtenir uniquement les utilisateurs activés :

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

4voto

Paijo Points 11

Filtrer dans l'autre sens ?

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

0voto

user320509 Points 1

Essayez la commande get-ADUser, elle vous permet de mieux filtrer vos utilisateurs.

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X