16/05/2024

Active Directory

Active Directory – Comment récupérer le DistinguishedName d’un objet ?

I. Présentation

Dans ce tutoriel, nous allons voir différentes façons de récupérer le DistinguishedName d'un objet Active Directory, que ce soit un utilisateur, un ordinateur ou encore un groupe. Lorsque l'on manipule l'Active Directory, cet attribut est l'un des plus utilisés ! Avant cela, une présentation de cet attribut s'impose !

II. L'Active Directory et le DistinguishedName

Le Distinguished Name (DN) est un nom unique qui identifie chaque objet dans l'Active Directory. C'est une chaîne de caractères qui représente la position de l'objet dans l'arborescence de l'annuaire. Il est composé de plusieurs parties, appelées composants de nom, qui sont séparées par des points et qui correspondent à des objets parent dans l'arborescence.

Par exemple, dans le DN suivant :

CN=Florian Burnel,OU=Personnel,DC=it-connect,DC=local

Quelques explications :

  • CN=Florian Burnel : est le nom commun de l'objet, qui correspond à l'utilisateur Florian Burnel.
  • OU=Personnel : est l'unité d'organisation où se situe l'objet, mais le DN peut intégrer plusieurs OUs (s'il y a une arborescence complète)
  • DC=it-connect,DC=local : sont là pour représenter le domaine auquel appartient cet objet, à savoir ici "it-connect.local"

Le DN complet d'un objet est utilisé pour identifier de manière unique l'objet dans l'Active Directory. Ce chemin vers l'objet peut être utilisé dans les requêtes LDAP. On l'utilise très souvent au travers de requêtes PowerShell pour cibler un objet spécifique.

III. Récupérer le DistinguishedName dans l'Active Directory

Il existe plusieurs façons de récupérer le Distinguished Name (DN) d'un utilisateur dans l'Active Directory, autant en mode graphique qu'à partir de la ligne de commande. Voyons quelques méthodes.

A. Utiliser la console "Utilisateurs et ordinateurs Active Directory"

Ouvrez la console "Utilisateurs et ordinateurs Active Directory" sur votre contrôleur de domaine ou une machine équipée des outils RSAT.

Une fois que c'est fait, cliquez sur "Affichage" dans le menu, puis "Fonctionnalités avancées" pour que l'onglet "Editeur d'attributs" soit visible dans les propriétés d'un objet. Dans la liste des attributs, vous pouvez trouver le fameux "distinguishedName" : en double cliquant sur la ligne, une fenêtre s'ouvre et celle-ci vous permet de copier-coller le DN de l'objet !

Afficher le DN d'un utilisateur AD

La console "Centre d'administration Active Directory" peut également être utilisée pour récupérer le DN d'un objet. Lorsque l'on accède aux propriétés de l'objet, il faut se rendre dans la section "Extensions" pour visualiser la liste des attributs. Ceci donne accès au DN.

DN Active Directory avec ADAC

B. Utiliser PowerShell

Une autre façon de faire, très pratique, c'est d'utiliser le module PowerShell "ActiveDirectory", à partir d'un contrôleur de domaine Active Directory ou d'une machine où ce module est installé.

Si besoin, car normalement c'est automatique, importez le module :

Import-Module ActiveDirectory

Puis, pour récupérer uniquement la valeur du DN d'un utilisateur spécifique, utilisez cette commande :

(Get-ADUser -Identity "login de l'utilisateur").DistinguishedName

Pour l'utilisateur Guy Mauve dont l'identifiant est "guy.mauve", cela donne :

(Get-ADUser -Identity "guy.mauve").DistinguishedName

Et la commande me retourne bien le DN :

CN=Guy Mauve,OU=Personnel,DC=it-connect,DC=local

Dans le même esprit, on peut récupérer le DN d'un ordinateur avec PowerShell :

(Get-ADComputer -Identity "nom de la machine").DistinguishedName

Par exemple :

(Get-ADComputer -Identity "PC-01").DistinguishedName
CN=PC-01,OU=PC,DC=it-connect,DC=local

Ainsi que le DN d'un groupe, toujours avec PowerShell :

(Get-ADGroup -Identity "Nom du groupe").DistinguishedName

Par exemple :

(Get-ADGroup -Identity "Admins du domaine").DistinguishedName
CN=Admins du domaine,CN=Users,DC=it-connect,DC=local

A chaque fois le principe reste le même, si ce n'est que l'on utilise une commande différente (Get-ADUser, Get-ADComputer, Get-ADGroup), en fonction du type d'objet que l'on cible.

C. Utiliser dsquery

Depuis Windows Server 2008, il y a un outil nommé "dsquery" qui est inclus au système sur tous les serveurs où le rôle ADDS est installé. Autrement dit, sur les contrôleurs de domaine.

Avec cet outil, on peut également récupérer le DN d'un utilisateur assez facilement.

dsquery user -name "nom de l'utilisateur"

Cette commande affichera le DN de l'utilisateur. On peut le constater en reprenant l'exemple de Guy Mayve :

dsquery user -name "Guy Mauve"

Qui va me retourner cette valeur :

"CN=Guy Mauve,OU=Personnel,DC=it-connect,DC=local"

On peut aussi cibler un ordinateur avec dsquery :

dsquery computer -name "PC-01"

Ainsi qu'un groupe de l'Active Directory :

dsquery group -name "Admins du domaine"

Il faut savoir que ça existe, mais personnellement j'utilise plutôt la méthode basée sur PowerShell notamment au sein de scripts.

IV. Conclusion

Suite à la lecture de ce tutoriel, vous connaissez différentes façons de récupérer le DN d'un objet Active Directory ! À vous de choisir la méthode qui convient le mieux à votre besoin !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.