> Tech > Scripter la solution

Scripter la solution

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

  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 Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010