L’applet de commande PowerShell Get-ADUser est l’une des plus utilisées par les administrateurs gérant AD. Elle sert à interroger et obtenir tous les utilisateurs AD et leurs propriétés précises, et à appliquer des filtres pour rechercher certains utilisateurs selon les unités d’organisation (UO), l’appartenance aux groupes ou des attributs. Cet article explique comment utiliser l’applet de commande Get-ADUser avec des exemples pratiques, notamment les techniques de filtrage avancées, la sélection de propriétés et bien plus encore. De plus, cet article compare directement l’applet aux rapports sur les utilisateurs AD d’ADManager Plus, outil de suivi AD.
Découvrez comment l’utilisation d’un script dans PowerShell se distingue du suivi simple via l’interface graphique d’ADManager Plus.
Avant de commencer, vérifiez que :
Pour obtenir la liste de tous les utilisateurs AD via PowerShell :
Get-ADUser -Filter *Utilisez différents paramètres avec l’applet de commande Get-ADUser pour générer des rapports sur les utilisateurs plus précis.
Pour obtenir la liste de tous les utilisateurs AD via ADManager Plus :

Voici certains paramètres courants utilisables avec l’applet de commande Get-ADUser :
| Paramètre | Description |
|---|---|
| -Identity | Ce paramètre indique un utilisateur unique à récupérer via son sAMAccountName, DN, GUID ou SID. |
| -Filter | Ce paramètre recherche les utilisateurs en fonction d’une requête. Utilisez * pour obtenir tous les utilisateurs. |
| -Properties | Ce paramètre indique les autres attributs d’utilisateur à récupérer. |
| -SearchBase | Limite la recherche à une UO ou un chemin de conteneur spécifique. |
| -SearchScope | Définit la profondeur de la recherche (Base, OneLevel ou Subtree). La valeur par défaut est Subtree. |
| -ResultSetSize | Définit le nombre maximal d’utilisateurs que la requête va renvoyer. Utilisez $null pour aucune limite. |
| -Server | Indique le contrôleur de domaine pour lequel exécuter la requête. |
| -LDAPFilter | Recherche les utilisateurs avec la syntaxe de requête LDAP plus complexe au lieu du filtre PowerShell. |
| -Credential | Exécute la commande avec les identifiants d’un autre compte d’utilisateur. |
Pour récupérer les détails d’un utilisateur donné, utilisez le paramètre -Identity. On peut identifier les utilisateurs par leur sAMAccountName, DN, GUID ou SID :
#Get user by sAMAccountName
Get-ADUser -Identity "jdoe"
#Get user by UPN
Get-ADUser -Identity "john.d@company.com"
#Get user by DN
Get-ADUser -Identity "CN=John Doe,OU=Users,DC=company,DC=com"Pour obtenir tous les utilisateurs du domaine Active Directory, utilisez le paramètre -Filter *.
# Get all users (basic properties only)
Get-ADUser -Filter *
# Format output in a table for better readability
Get-ADUser -Filter * | Format-Table Name, sAMAccountName, EnabledPour afficher des détails plus utiles comme l’adresse électronique ou le service, il faut utiliser le paramètre -Properties.
# To view all properties for all users
Get-ADUser -Filter * -Properties *
# To view a specific selection of properties for all users
Get-ADUser -Filter * -Properties email, department | Select-Object Name, email, departmentOn a souvent besoin d’exporter la liste des utilisateurs vers un fichier CSV pour le suivi ou l’audit. L’utilisation de l’applet Export-Csv avec l’applet Get-ADUser le permet.
Get-ADUser -Filter * -Properties email, department | Select-Object name, email, department | Export-Csv -Path "C:\Reports\ad_users.csv" -NoTypeInformationLa clé pour limiter la recherche à une UO consiste à utiliser le paramètre -SearchBase de l’applet Get-ADUser. Pour cela, il faut connaître le nom unique (DN) de l’UO dans laquelle effectuer la recherche. Il s’agit d’un chemin unique vers l’UO du domaine.
Voici comment l’obtenir:
Une fois le DN obtenu, utilisez-le avec le paramètre -SearchBase. La commande -Filter * permet d’obtenir tous les utilisateurs à cet endroit.
Get-ADUser -Filter * -SearchBase "OU=Sales,DC=yourdomain,DC=com"Utilisez cette commande pour générer une liste de tous les utilisateurs qui occupent un poste précis dans l’organisation. Cela peut être utile pour créer des listes de distribution de courrier ciblée ou pour le suivi des services.
Get-ADUser -Filter "Title -eq 'Sales Manager'" -Properties displayName, department | Select-Object displayName, department, sAMAccountNameCe script récupère une liste de tous les comptes d’utilisateur créés au cours des sept derniers jours. Cela aide à suivre les créations de compte récentes ou vérifier la bonne configuration des nouveaux employés.
$days = 7
$cutoffDate = (Get-Date).AddDays(-$days)
Get-ADUser -Filter 'whenCreated -ge $cutoffDate'-Properties whenCreated | Select-Object Name, sAMAccountName, whenCreatedSi on ne connaît qu’une partie du nom d’un utilisateur, on peut le trouver avec un caractère générique (*). Par exemple, pour trouver tous les utilisateurs dont le nom contient John, on peut utiliser le script suivant :
Get-ADUser -Filter "Name -like '*John*'" -Properties displayName, email | Select-Object displayName, emailCe script utilise le DN d’un utilisateur pour rechercher tous les comptes qui l’affichent comme manager, représentant bien les structures d’équipe.
$manager = Get-ADUser "manager.sAMAccountName"
Get-ADUser -Filter "manager -eq '$($manager.distinguishedName)'"-Properties displayName, Title | Select-Object Name, DisplayName, TitleCet exemple montre comment récupérer une liste d’utilisateurs appartenant à plusieurs services. Cela est bien plus efficace que d’exécuter une commande par service et de regrouper le résultat.
Get-ADUser -Filter "department -eq 'Sales' -or department -eq 'Marketing'" -Properties department | Select-Object name, departmentSolution: cette erreur signifie que le module Active Directory n’est pas installé ou disponible dans la session PowerShell. Pour la corriger, il faut installer les outils d’administration de serveur distant (RSAT) pour AD sur le poste client Windows. Sur un serveur, vérifiez que la fonctionnalité Module Active Directory pour Windows PowerShell est installée.
Solution : cela indique que l'utilisateur défini par le paramètre -Identity est introuvable. Vérifiez l’orthographe du nom d’utilisateur et que le compte d’utilisateur existe bien dans AD et n’a pas été supprimé.
Solution : le compte d’utilisateur servant à exécuter le script PowerShell ne possède pas les autorisations nécessaires pour lire les données dans AD. Pour résoudre ce problème, exécutez PowerShell comme utilisateur membre du domaine possédant au moins un accès en lecture.
ce type d’erreur, ou le fait de ne pas obtenir les résultats prévus, provient souvent d’un problème de syntaxe dans la chaîne -Filter. Vérifiez que la mise entre guillemets et l’échappement des variables et caractères spéciaux sont corrects.
Solution: il s’agit d’une erreur de connectivité réseau. L’ordinateur exécutant le script ne peut pas contacter un contrôleur de domaine. Vérifiez la connexion réseau et la possibilité d’envoyer un ping au domaine et à un contrôleur précis.
PowerShell offre un puissant outil pour générer des rapports, mais présente plusieurs limitations intrinsèques, surtout si une grande DSI l’utilise pour un suivi régulier.
ADManager Plus offre une solution de suivi AD complète qui répond directement aux limites de PowerShell, aidant à gérer et suivre l’environnement AD en gagnant en efficacité et sécurité.
L’applet de commande Get-ADUser sert à extraire un ou plusieurs objets utilisateur d’AD. Les administrateurs l’utilisent pour rechercher des utilisateurs selon des critères précis, afficher leurs propriétés et exporter les données à des fins de suivi et d’audit.
On peut filtrer les utilisateurs AD avec le paramètre -Filter, qui accepte une chaîne de requête. Par exemple, pour obtenir tous les utilisateurs du service Marketing, utilisez :
Get-ADUser -Filter "Department -eq 'Marketing"To get every property for a user, you must use the -Properties parameter. This is essential for obtaining essential user attributes like LastLogonDate, whenCreated, and MemberOf.
Une façon simple consiste à tenter de récupérer l’utilisateur et vérifier si la commande renvoie un résultat. Le renvoi d’un objet indique que l’utilisateur existe. Sinon, il n’existe pas.
Pour obtenir une liste des groupes auxquels un utilisateur appartient, il faut interroger la propriété MemberOf.
Get-ADUser -Identity 'john' -Properties MemberOf | Select-Object -ExpandProperty MemberOfGestion des boîtes aux lettres à guichet unique pour Exchange et Office 365 avec ADManager Plus.
Obtenez un essai gratuit de 30 joursPour la gestion des utilisateurs AD
Pour les rapports sur les utilisateurs AD
Pour la gestion des GPO
Pour la gestion des mots de passe
Pour la gestion des groupes AD
Pour la gestion de l'accès aux fichiers
Pour la gestion des ordinateurs AD
Pour la gestion d'Office 365
Pour la gestion des échanges