Active Directory : faire une recherche en PowerShell avec un caractère générique (Wildcard *)


Windows Server 2012R2 Windows Server 2016 Windows Server 2019

Dans ce tutoriel, je vais vous expliquer comme utiliser le wildcard (*) dans une recherche dans un annuaire Active Directory avec PowerShell.

Quand on administre un annuaire Active Directory, on fait régulièrement des recherches d’objet (Utilisateurs, Ordinateurs, Groupes …) et souvent on galère à trouver ce que l’on a besoin du premier coup, car il faut avouer que la recherche dans les consoles d’administration ne sont pas très performantes.

Pour illustrer ce tutoriel, on va rechercher dans l’Active Directory les objets suivants :

Ici, on peut voir deux objets utilisateurs qui correspondent à des ressources dans Exchange, comme on peut le voir ce sont des bureaux, généralement utilisé pour des réunions.

On commence avec le console Utilisateurs et ordinateurs Active Directory, je lance une recherche avec le mot : bureau

Comme on peut le voir, la recherche ne donne rien, j’ai aussi essayer avec le * de chaque coté du mot, mais aucun résultat.

La même recherche avec ADAC :

Même constat … la recherche ne retourne rien …

Comment faire pour avoir la liste des objets qui contiennent le mot bureau …. donc faire un recherche du type *bureau*.

On a deux solutions :

  • Utiliser les fonctions avancées de recherche des deux consoles
  • Utiliser PowerShell

Dans ce tutoriel, on va utilisé la seconde solution, que je trouve personnellement plus rapide pour localiser l’objet dans l’annuaire.

En PowerShell, on va pouvoir utiliser plusieurs Cmdlet pour faire notre recherche.

On va commencer avec le Cmdlet Get-ADObjet qui va nous permettre de recherche dans tous les types d’objets dans l’Active Directory.

Get-ADOject -Filter {name -like "*bureau*"}

Comme on peut le voir, cette fois ci, on a tous les objets qui contiennent le mot bureau et on a bien les deux salles de réunion.

Le DistinguishedName (DN), nous permet facilement de localiser l’objet dans l’annuaire.

La seconde commande que je vais vous montrer est la Cmdlet Get-ADUser.

Get-ADObject -Filter {name -like "*bureau*"} | ft

Cette fois ci la commande nous retourne seulement les objets Utilisateurs, on a bien les deux salles de réunions qui sont des objets Utilisateurs. Là aussi, la base DN permet de localiser l’objet dans l’AD.

Sur la même syntaxe que Get-ADUser vous avez :

  • Get-ADGroup : pour rechercher un groupe
  • Get-ADComputer : pour recherche un objet ordinateur.

Petit bonus, voici un début de script :

Import-Module ActiveDirectory

$Search = '*' + $(Read-Host 'What are you looking for ') + '*'

Get-ADObject -Filter {name -like $Search}

Vous savez maintenant comment faire un recherche efficace dans un annuaire Active Directory avec PowerShell.




Laisser un commentaire