Astuce : rechercher les utilisateurs Active Directory dont un attribut est vide
Vous souhaitez identifier tous les utilisateurs de votre Active Directory dont un attribut spécifique est vide ? Vous êtes au bon endroit. À l’aide de PowerShell, il est facile d’effectuer ce type de recherche.
Identifier les comptes dont certains champs ne sont pas renseignés permet, par exemple, de s’assurer que l’annuaire est renseigné de façon homogène. Cela permet aussi d’identifier les écarts de configuration entre plusieurs comptes. Un annuaire mal renseigné peut également causer des problèmes techniques, comme des groupes de distribution dynamiques Exchange qui n’incluent pas les bonnes personnes.
Les attributs sont utilisés par l’Active Directory lui-même, mais aussi par d’autres applications qui peuvent s’en servir : gestion de profils, création de signature mail, etc… Ainsi, vous pouvez être amené à faire une recherche spécifique comme celle-ci : quels sont les utilisateurs dont le numéro de téléphone n’est pas renseigné ?
Ce tutoriel vous explique comment utiliser PowerShell pour interroger votre annuaire et isoler les comptes utilisateurs pour lesquels un attribut spécifique n’est pas renseigné.

Note : vous devez disposer du module PowerShell . Ce module est disponible nativement sur les contrôleurs de domaine Windows Server. Si vous exécutez ces commandes depuis un poste de travail ou un serveur membre, vous devez installer les outils RSAT sur Windows.
Sommaire
Rechercher les utilisateurs avec un attribut vide
Pour effectuer cette requête auprès de l’Active Directory, nous allons utiliser le cmdlet PowerShell (documentation). Il permet de récupérer des informations sur les utilisateurs, en allant lire les attributs de chaque objet de ce type. Ici, et à titre d’exemple, la recherche sera effectuée sur l’attribut correspondant au numéro de téléphone mobile.
Cette commande retournera la liste des comptes où l’attribut mobile est vide. On affichera le nom de chaque compte et la valeur de cet attribut, histoire de pouvoir faire une validation visuelle rapide.
Au sein de la commande , il est important de bien préciser le nom de l’attribut à rechercher en tant que valeur du paramètre . En effet, par défaut, elle ne charge qu’un jeu de base (comme le , , etc). Donc, si vous souhaitez cibler un attribut spécifique, vous devez le préciser.
Voici un exemple de sortie :
Si vous exécutez sur un domaine contenant des dizaines de milliers d’objets, la requête peut être longue et solliciter les ressources de votre contrôleur de domaine de façon inutile. Une bonne pratique d’administration consiste à restreindre la portée de la recherche à une zone de votre annuaire, en ciblant une OU. Cela peut être utile pour cibler l’arborescence où sont stockés les utilisateurs standards.
Utilisez le paramètre pour définir la racine de votre recherche :
Exporter les données pour générer un rapport
Afficher les résultats dans la console est pertinent pour un audit rapide, mais lors d’une vérification portant sur des centaines d’utilisateurs, il est préférable d’exporter les résultats dans un fichier. Le format CSV est adapté car il peut être manipulé facilement, réimporté dans un script et même ouvert dans Microsoft Excel.
Pour ajouter l’export CSV à notre commande précédente, il suffit d’ajouter une nouvelle étape dans le pipeline :
Le paramètre permet de ne pas inclure l’en-tête PowerShell dans le fichier CSV, ce qui rend le fichier directement exploitable dans un tableur (sinon cette ligne est considérée comme les en-têtes par Excel).
Conclusion
Une manipulation simple et efficace qui peut faire gagner du temps, comme très souvent avec PowerShell ! Si vous souhaitez aller plus loin dans l’utilisation de PowerShell pour administrer l’Active Directory, je vous invite à consulter mon cours Administrer l’Active Directory avec PowerShell.