Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !

Gérer les objets de l’Active Directory

Introduction

Une des premières fonctions de l’Active Directory est de répondre à des requêtes. Par requête, nous entendons tout simplement l’interrogation d’une source de données plus ou moins importantes, et dont un annuaire tel que le représente parfaitement Active Directory constitue une illustration parfaite.

Active Directory est un service d’annuaire contenant des objets. Mais qu’est-ce qu’un objet Active Directory ? Un objet Active Directory est issu de la notion de classe d’objet qui est une structure représentant un type comme un utilisateur, un ordinateur, une imprimante, un groupe, etc. Donc, ce qui relie l’objet à la classe d’objets est que le premier est une instance de la seconde. Un outil tel qu’ADSI Edit permet aux administrateurs de connaître l’ensemble des classes d’objets avec leurs attributs. Parfois, ADSI Edit est indispensable pour effectuer quelques modifications sur ces classes.

Ce chapitre nous apprendra comment manipuler des objets issus d’une base de données Active Directory à partir de la perspective qui est la nôtre, c’est-à-dire celle que nous fournit Windows PowerShell : du principe de la recherche à celui de la création d’objets, nous comprendrons mieux l’un des modes de gestion de l’Active Directory qui...

Rechercher des objets Active Directory

Réaliser une requête dépend de multiples critères comme un point de départ, une étendue, un filtre, etc. Pour effectuer nos requêtes, nous considérons souvent, d’abord des données élémentaires comme un nom de domaine ou alors un catalogue global. La commande Get-ADObject est privilégiée dans de telles circonstances, car elle est un outil de recherche très puissant.

1. La cmdlet Get-ADObject

Le principe de fonctionnement de la commande Get-ADObject est finalement simple : obtenir et lister un ou des objets Active Directory sur la base de requêtes composées de règles de recherche précises. Nous pourrions penser Get-ADObject comme une sorte de client LDAP ou Active Directory, comme le montre ses paramètres les plus importants :

Le paramètre -SearchBase

Indique un chemin d’accès Active Directory constituant un point de départ.

Le paramètre -LDAPFilter

Ce paramètre autorise la spécification de chaînes de requêtes LDAP.

Le paramètre -Properties

Spécifie les propriétés à retenir des objets renvoyés.

Le paramètre -Filter

Ce paramètre autorise la spécification de chaînes de requêtes basées sur des expressions PowerShell.

Le paramètre -Identity

Indique un objet Active Directory (utilisateur, ordinateur, groupe, imprimante) à obtenir. 

2. Get-ADObject en action

Pour illustrer l’utilisation de la commande Get-ADObject, nous allons réaliser une requête à partir du contrôleur de domaine SLC-DC03 au niveau du sous-domaine research.contoso.com. Par défaut, les informations accessibles se situent au niveau du domaine où nous nous trouvons. En conséquence, pour accéder à des données du domaine parent (contoso.com), nous pourrons passer par l’interrogation du contrôleur de domaine SLC-DC03 faisant aussi office de catalogue global.

Interrogeons le contrôleur de domaine SLC-DC03 afin de lister les machines existantes dans le domaine contoso.com :

PS> Get-ADObject -Filter { (ObjectClass -eq "computer") }  
-Server SLC-DC03:3268 -SearchBase 'DC=contoso,DC=com'  
-Properties sAMAccountName...

Exporter des objets Active Directory au format CSV

C’est un fait, les infrastructures d’aujourd’hui sont d’une manière générale extrêmement complexes dans leur disposition, et ce à tous les niveaux. Ce constat en matière de gestion des informations doit être véritablement pris en compte parce que différentes technologies n’ont pas forcément la même façon de communiquer entre elles. Par exemple, extraire des données issues d’une importante source d’informations telle qu’Active Directory répond nécessairement à une sémantique particulière qui peut ne pas être comprise par d’autres applications.

Pour permettre un transfert d’informations basé sur des règles communes, de multiples formats de données existent. Parmi ceux-ci :

  • Le format XML, ou Extensible Markup Language ;

  • Le format CSV, ou Comma Separated Values.

C’est ce dernier format qui nous intéresse ici (CSV) : nous allons exporter un certain nombre d’objets Active Directory dans ce format grâce à la commande Export-CSV.

1. La cmdlet Export-CSV

Export-CSV convertit les objets qui lui sont envoyés au format CSV. Chaque propriété d’objet est séparée d’une autre par une virgule. Chaque ligne du fichier CSV généré par cette commande représente un objet traité. Les informations ainsi converties dans ce format deviennent très pratiques dans la mesure où le format CSV est un format universellement reconnu, sauf dans des cas exceptionnels.

Le paramètre -Path

Spécifie le chemin où le fichier de sortie sera enregistré.

Le paramètre -Append

Permet l’ajout de données dans un fichier existant, car si le fichier existe il est par défaut écrasé.

Le paramètre -Delimiter

Indique un délimiteur (,, ;, :, etc.). Par défaut, le délimiteur est ,.

Le paramètre -Encoding

Spécifie le type d’encodage du fichier de sortie (UTF8, ASCII, etc.).

Le paramètre -NoClobber

Ce paramètre indique de ne pas écraser un fichier CSV s’il existe.

Le paramètre -NoTypeInformation

Indique de ne pas inclure dans le fichier CSV des informations...

Créer un objet Active Directory

Maintenant que nous savons comment chercher des objets Active Directory, nous avons une idée plus claire de leur structure. Dans le processus de manipulation des objets de l’Active Directory, il peut s’avérer nécessaire de créer un ou des objets parce qu’une opération l’exige.

1. La cmdlet New-ADObject

Si, au cours d’une action donnée, créer un objet Active Directory est une étape indispensable, alors la commande New-ADObject constitue un recours très efficace. En effet, New-ADObject a comme principe de créer des objets Active Directory tout en apportant des facilités que l’on ne trouve pas dans d’autres langages comme Visual Basic Scripting ou Perl pour ne citer que ceux-là.

Les types d’objets que la commande New-ADObject peut créer reflètent évidemment ce qui se trouve dans un annuaire comme Active Directory : utilisateurs, groupes, ordinateurs, unités d’organisation, sites, etc. Tous ces objets sont accessibles et leurs propriétés définies à l’aide des paramètres de cette commande.

Le paramètre -Name

Spécifie le nom de l’objet à créer.

Le paramètre -Type

Spécifie le type de l’objet devant être créé.

Le paramètre -Path

Spécifie le chemin...