La gestion des unités d’organisation
Introduction
Une architecture Active Directory, pour être véritablement en accord avec les exigences issues d’une infrastructure réelle, doit pouvoir refléter chacun de ses éléments importants d’un point de vue organisationnel. Ici, la problématique liée à l’organisation d’une architecture Active Directory est nodale dans la projection « physico-logique » des éléments composant une infrastructure donnée.
Dans l’écosystème Active Directory, il existe un type d’objet conteneur aidant à la construction d’une architecture Active Directory fidèle à une infrastructure réelle en perpétuelle évolution. Ce type d’objet se nomme « unité d’organisation ». Ce chapitre nous aidera tout d’abord à nous familiariser avec la notion d’unité d’organisation, puis nous apprendrons, avec Windows PowerShell, à lister les unités d’organisation qui se trouvent dans un domaine, en l’occurrence contoso.com, pour ensuite lister les objets qui les constituent. Nous traiterons aussi de la création et de la protection d’une unité d’organisation. Savoir créer une unité d’organisation avec PowerShell est une étape critique dans l’automatisation des opérations...
Qu’est-ce qu’une unité d’organisation ?
Une unité d’organisation constitue une étape supplémentaire dans l’organisation des objets d’un service d’annuaire Active Directory. Ces objets peuvent être :
-
Des comptes d’utilisateurs ;
-
Des comptes d’ordinateurs ;
-
Des groupes ;
-
D’autres unités d’organisation.
Un objet de type unité d’organisation a la particularité d’être un conteneur, c’est-à-dire utile à la disposition d’objets nécessitant un certain degré d’organisation, eu égard aux exigences d’une infrastructure. Par conséquent, les unités d’organisation sont des éléments déterminants en matière de définition d’une architecture Active Directory.
Le modèle d’une infrastructure réelle va donc fortement influer sur le rôle que prendra chaque unité d’organisation, ne serait-ce que sur le plan de la modélisation hiérarchique et logique des objets composant l’architecture Active Directory. Finalement, une architecture Active Directory digne de ce nom ne peut pas être correcte si l’on ne considère pas la portée des unités d’organisation à sa juste valeur.
Les unités d’organisation dépendent aussi...
Lister les unités d’organisation existant au sein d’un domaine
Connaître une architecture Active Directory suppose de prendre en considération ses éléments fondamentaux. Parmi ceux-ci, il y a évidemment les unités d’organisation, dont le rôle en matière d’architecture est central. En conséquence, les administrateurs dont le rôle est de gérer un environnement Active Directory doivent impérativement connaître les unités d’organisation qui le composent.
1. La cmdlet Get-ADOrganizationalUnit
Windows PowerShell, grâce à la cmdlet Get-ADOrganizationalUnit, donne aux informaticiens la possibilité de connaître et d’analyser les unités d’organisation composant une architecture Active Directory. PowerShell accède aux unités d’organisation et les traite, à l’instar des comptes d’utilisateurs et d’ordinateurs, comme des objets sur lesquels les administrateurs peuvent agir pour les analyser ou même les modifier.
Le paramètre -Filter
Ce paramètre spécifie une chaîne de requête utilisant des expressions PowerShell afin de filtrer des objets représentant des unités d’organisation.
Le paramètre -Identity
Ce paramètre spécifie l’identité d’un objet représentant une unité d’organisation.
Le paramètre -LDAPFilter
Ce paramètre spécifie une chaîne de requête utilisant des expressions LDAP afin de filtrer des objets représentant des unités d’organisation.
Le paramètre -Partition
Ce paramètre spécifie le nom d’une partition où un objet représentant une unité d’organisation sera recherché.
Le paramètre -Properties
Ce paramètre spécifie des propriétés n’étant pas incluses dans le jeu de propriétés par défaut.
Le paramètre -SearchBase
Ce paramètre spécifie un chemin d’accès Active Directory dans lequel effectuer les recherches d’objets représentant des unités d’organisation.
Le paramètre -SearchScope
Ce paramètre spécifie une étendue de recherche Active Directory (Base ou 0, OneLevel...
Lister les objets contenus au sein d’une unité d’organisation
Obtenir des informations au sujet d’une unité d’organisation est une première étape, car il s’agit du conteneur. Pour connaître les objets englobés par une unité d’organisation, il faut nécessairement interroger son contenu, au risque de se limiter à une connaissance superficielle de cette unité d’organisation. Les objets d’une unité d’organisation pouvant représenter des types différents, le moyen de les connaître doit être capable de prendre en considération cette pluralité.
1. La cmdlet Get-ADObject
La commande Get-ADObject, étudiée dans un précédent chapitre, est la commande dont nous avons besoin pour lister les objets inclus au sein d’une unité d’organisation. En raison de la nature des objets existant potentiellement dans une unité d’organisation, le préalable est d’intégrer la multiplicité du type des objets pour n’en omettre aucun. Et c’est précisément ici que Get-ADObject joue un rôle tout à fait important, puisqu’elle est capable d’obtenir non pas un type d’objet particulier, mais plusieurs ; elle est donc l’outil de recherche privilégié lorsqu’il s’agit...
Créer une unité d’organisation
L’étude des unités d’organisation en lien avec Windows PowerShell ne serait pas tout à fait sérieuse si la question de la création d’unités d’organisation n’était pas posée. Créer une unité d’organisation suppose en effet de connaître l’ensemble des éléments déterminant le processus de création. Car automatiser la création d’unités d’organisation ne suffit pas si l’on ne sait pas pourquoi ce processus doit advenir, processus inévitable tant une organisation Active Directory est intrinsèquement dynamique.
1. La cmdlet New-ADOrganizationalUnit
Comme nous venons de le souligner, étudier le phénomène des unités d’organisation en matière d’automatisation sans questionner leur création est une aberration, dans la mesure où les unités d’organisation sont des objets de base d’une architecture Active Directory. Bien évidemment, Windows PowerShell propose une cmdlet permettant d’automatiser un tel processus : New-ADOrganizationalUnit.
La commande New-ADOrganizationalUnit dispose d’un jeu de paramètres ayant la particularité d’être « sec » et allant directement à l’essentiel.
Le paramètre -AuthType
Ce paramètre spécifie...
Protéger une unité d’organisation contre les suppressions accidentelles
Une unité d’organisation est un conteneur et par conséquent comprend d’autres objets comme des comptes d’utilisateurs ou d’ordinateurs, des groupes ou des unités d’organisation. Cela implique qu’un objet représentant une unité d’organisation doit pouvoir être mieux protégé, car d’autres objets peuvent dépendre de lui. Si une suppression, qu’elle soit volontaire ou non, devait arriver, elle pourrait provoquer des dégâts irréversibles et la productivité de toute une organisation Active Directory pourrait en être affectée.
1. La cmdlet Set-ADOrganizationalUnit
Créer une unité d’organisation à l’aide d’une console MMC permet de mieux apprécier cette dimension, puisque lorsqu’une unité d’organisation est créée, l’option de protection contre les suppressions accidentelles est déjà activée par défaut. Windows PowerShell active aussi cette option lorsqu’il est sollicité pour créer une unité d’organisation, intégrant par la même la dimension de prudence et d’anticipation vis-à-vis d’objets de ce type ayant un statut somme toute assez spécial.
Toutefois, toutes les unités d’organisation existantes dans une infrastructure Active Directory ne sont pas protégées contre les suppressions accidentelles, et cela eu égard à des considérations liées à un environnement, un contexte ou une hiérarchisation des objets sur le plan de la sécurité.
PowerShell, à l’instar de l’environnement MMC, prend aussi en charge ce type de situation ; si une unité d’organisation existant dans un environnement Active Directory n’est pas protégée contre les suppressions accidentelles, il y a toujours un moyen de modifier cette caractéristique grâce à la cmdlet Set-ADOrganizationalUnit. Cela étant souligné, la commande Set-ADOrganizationalUnit modifie, de manière plus large, un objet représentant une unité d’organisation dans son intégralité, comme...