Pour modifier votre schéma de test programmatiquement, vous pouvez utiliser Microsoft ADSI (Active Directory Service Interfaces), une couche d'abstraction COM fournie par Microsoft qui se situe au-dessus de LDAP. (Pour plus de détails sur l'utilisation d'ADSI, voir Bob Wells, Scripting Solutions, " Easy Active Directory Scripting for Systems Administrators, Part
Scripter la solution
I « , septembre 2000, ou lisez le white paper de Microsoft, » Active Directory Service Interfaces » à http://www.microsoft.com/windows2000/techinfo/howitworks/activedirectory/adinterface.asp. Vous pouvez utiliser ADSI avec Visual Basic (VB) 6.0, VBScript, Jscript ou C. Le listing 1, montre certaines parties d’un script VBScript (createdogfood- schema.vbs) que j’ai écrit pour créer l’extension badge-number pour la société DogFood. Une ellipse (…) représente les lignes manquantes. (Si vous téléchargez le listing, lisez absolument le fichier README inclus avant d’exécuter le code.) Pour d’autres exemples de code et des informations complémentaires sur l’extension du schéma, voir le Active Directory Programmers Guide de plate-forme SDK accessible sur le site Web MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/psdk/adsi/glschemex_5py9.htm).
Comme le montre le listing 1, le script définit d’abord les constantes qu’il utilisera pour les nouveaux objets attributeSchema et classSchema. Puis il se connecte à l’objet RootDSE pour obtenir l’emplacement du schéma NC dans la forêt actuelle. Ensuite le script définit les divers attributs nécessaires pour créer le nouvel objet attributeSchema. Pour convertir la chaîne d’octets de schemaIDGUID en une chaîne d’octets binaires (une opération nécessaire pour définir l’attribut schemaID GUID), le script utilise l’objet WSH0cx, qui expose la méthode StringGUID ToBinaryGUID. Cette méthode est un objet COM ActiveX et est instanciée dans les lignes cachées du script. (L’objet WSH0cx est inclus avec le fichier 22540.zip téléchargeable disponible sur le site Web Windows 2000 Magazine.)
Après avoir créé le nouvel attribut badge-number dans le schéma NC de l’AD, le script crée la classe qui contiendra l’attribut. On retrouve les mêmes étapes que pour la création d’attributs, mais ici le script initialise un jeu d’attributs différent pour créer l’objet classSchema. L’attribut governsld définit l’OID de la classe. Comme cette classe est une classe auxiliaire que vous utilisez pour inclure un nouvel attribut dans la classe utilisateur, l’attribut objectClassCategory définit la catégorie en tant que 3. Les attributs IDAPDisplayName et schemaIDGUID contiennent le LDAP display name et la GUID de l’objet de classe auxiliaire, respectivement.
Après avoir créé la classe auxiliaire, le script doit associer le nouvel attribut à la nouvelle classe. A dans le listing 1 montre le code qui exécute l’association dans l’attribut mayContain. L’opération suivante du script met à jour la classe utilisateur pour inclure la nouvelle classe auxiliaire. A noter que le script doit manipuler l’attribut auxiliaryClass de la classe auxiliaire en tant que multivaleur, faute de quoi le script supprimera les éventuelles classes auxiliaires existantes associées à la classe utilisateur. (Ainsi, le script pourrait accidentellement supprimer les classes auxiliaires Microsoft Exchange 2000 Server de la classe utilisateur.) B montre le code qui exécute cette définition.
Vos changements de schéma n’agissent pas immédiatement. Pour des raisons de performances, l’AD contient une copie du schéma en mémoire. La copie en mémoire est rafraîchie toutes les 5 minutes après une modification de schéma, mais vous pouvez ordonner une mise à jour immédiate. Pour cela, le script utilise l’attribut schemaUpdateNow de l’objet RootDSE.
Vous pouvez également mettre à jour le cache au moyen du snap-in Active Directory Schema. Ou recourir à une troisième possibilité : vous pouvez utiliser Ldifde pour charger le fichier LDIF que montre le listing 2. (Un fichier LDIF est simplement une version ASCII, avec des valeurs binaires codées en base 64, du contenu exporté directement. Pour plus d’informations sur les fichiers Ldifde et LDIF, voir l’article de Microsoft, » Using LDIFDE to Import/Export Directory Objects to the Active Directory » à http://support.microsoft.com/support/kb/articles/q237/6/77.asp.)
Téléchargez cette ressource
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Connectivité et impression sans contrainte : repenser la gestion documentaire en 2026
- Souveraineté numérique : réinvestir les fondations pour sortir de la dépendance à Microsoft
- L’essor de l’IA propulse les cyberattaques à des niveaux records
- L’IA sous contrôle : un impératif pour la souveraineté des entreprises
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
