Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives



Documents pareils
Module 1 : Présentation de l'infrastructure réseau de Microsoft Windows 2000

Annexe C : Numéros de port couramment utilisés

Module 13 : Mise à jour de la base de données Active Directory

Module 1 : Présentation de Windows 2000 et des concepts des réseaux

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Module 5 : Gestion de l'accès aux ressources à l'aide de groupes

Module 6 : Gestion de données à l'aide du système de fichiers NTFS

Corrigé de l'atelier pratique du module 6 : Transfert de données

Préparer la synchronisation d'annuaires

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Module 7 : Accès aux ressources disque

Module 2 : Attribution automatique d'adresses IP à l'aide du protocole DHCP

Module 1 : Présentation de l'administration des comptes et des ressources

Module 0 : Présentation de Windows 2000

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

Module 10 : Implémentation de modèles d'administration et d'une stratégie d'audit

Windows Server Chapitre 4 : Active Directory Gestion des utilisateurs, des ordinateurs et des groupes

Stratégie de groupe dans Active Directory

CREATION COMPLETE D UN DOMAINE WINDOWS 2000 AVEC UN SERVEUR DE FICHIERS

Introduction aux services Active Directory

Module 9 : Installation d'active Directory

Module 1 : Préparation de l'administration d'un serveur

La console MMC. La console MMC Chapitre 13 02/08/2009

Module 7 : Configuration de l'accès distant

DirXML License Auditing Tool version Guide de l'utilisateur

Module 14 : Installation et configuration des services Terminal Server

Introduction aux services de domaine Active Directory

Configuration d'un annuaire LDAP

Module 12 : Configuration et gestion des disques

Fonctions pour la France

Module 2 : Administration des comptes d'utilisateurs et des comptes d'ordinateurs

Formateur : Franck DUBOIS

Formateur : Jackie DAÖN

Manuel d'installation

Retrospect 7.7 Addendum au Guide d'utilisation

CA Desktop Migration Manager

Guide pas à pas pour l'utilisation de la Console de gestion des stratégies de groupe

Créer et partager des fichiers

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Guide de configuration de SQL Server pour BusinessObjects Planning

STATISTICA Version 12 : Instructions d'installation


Symantec Backup Exec Remote Media Agent for Linux Servers

Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server Référence Cours : 6238B

Windows Server Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Module 3 : Gestion et analyse du service DHCP

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Fonctions pour la Suisse

StreamServe Persuasion SP4

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

FileMaker Server 13. Guide de configuration de l'installation réseau

Module 2 : Allocation de l'adressage IP à l'aide du protocole DHCP

SQL Server et Active Directory

Solutions informatiques

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Guide de déploiement

Présentation de Active Directory

Active Directory. Active Directory: plan. Active Directory. Structure logique. Domaine. Niveau fonctionnel des domaines

Cours 420-KEG-LG, Gestion de réseaux et support technique. Laboratoire 08. D. Création d usagers et de groupes pour la configuration des droits NTFS

Guide détaillé pour Microsoft Windows Server Update Services 3.0 SP2

Dell Server PRO Management Pack 4.0 pour Microsoft System Center Virtual Machine Manager Guide d'installation

Raccordement des machines Windows 7 à SCRIBE

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

Guide de l'utilisateur de l'application mobile

Comment changer le mot de passe NT pour les comptes de service Exchange et Unity

AFTEC SIO 2. Christophe BOUTHIER Page 1

Guide ADMT : migration et restructuration de domaines Active Directory

Sauvegarder automatiquement sa clé USB

BTS 2 SIO Active directory- windows serveur 2012 Version 1.1 (12/12/2014)

Service de certificat

Guide d installation de Windows Vista /Windows 7

Module 7 : Gestion de la récupération en cas d'urgence

Préparation à l installation d Active Directory

ASR3. Partie 2 Active Directory. Arnaud Clérentin, IUT d Amiens, département Informatique

Gestion des utilisateurs : Active Directory

Installation FollowMe Q server

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

CA ARCserve Backup Patch Manager pour Windows

Fonctions pour la Belgique

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

A. À propos des annuaires

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

Acronis Backup & Recovery 10 Server for Windows Acronis Backup & Recovery 10 Workstation. Guide de démarrage rapide

Active Directory. Qu'est-ce qu'un service d'annuaire?

FileMaker Server 13. Guide de démarrage

L exemple d un serveur Proxy sous Windows NT 4 SERVER MICROSOFT PROXY SERVER 2 Installation et configuration Auteur : Eliane Bouillaux SERIA5

Guide d'installation. Release Management pour Visual Studio 2013

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

FORMATION WS0801. Centre de formation agréé

Manuel d installation

Novell. NetWare 6. GUIDE D'ADMINISTRATION DE NETDRIVE

Module 8 : Protection du trafic réseau à l'aide de la sécurité IPSec et de certificats

InfraCenter Introduction

Service d'annuaire Active Directory

Intégration de Cisco CallManager IVR et Active Directory

Installation de Windows 2000 Serveur

Transcription:

Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives

Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis. Sauf mention contraire, les sociétés, les noms et les données utilisés dans les exemples sont fictifs. L'utilisateur est tenu d'observer la réglementation relative aux droits d'auteur applicable dans son pays. Aucune partie de ce manuel ne peut être reproduite ou transmise à quelque fin ou par quelque moyen que ce soit, électronique ou mécanique, sans la permission expresse et écrite de Microsoft Corporation. Si toutefois, votre seul moyen d'accès est électronique, le présent document vous autorise une et une seule copie. Les produits mentionnés dans ce document peuvent faire l'objet de brevets, de dépôts de brevets en cours, de marques, de droits d'auteur ou d'autres droits de propriété intellectuelle et industrielle de Microsoft. Sauf stipulation expresse contraire d'un contrat de licence écrit de Microsoft, la fourniture de ce document n'a pas pour effet de vous concéder une licence sur ces brevets, marques, droits d'auteur ou autres droits de propriété intellectuelle. 2000 Microsoft Corporation. Tous droits réservés. Microsoft, Active Directory, BackOffice, FrontPage, IntelliMirror, PowerPoint, Visual Basic, Visual Studio, Win32, Windows, Windows Media et Windows NT sont soit des marques déposées de Microsoft Corporation, soit des marques de Microsoft Corporation aux États-Unis d'amérique et/ou dans d'autres pays. Les autres noms de produit et de société mentionnés dans ce document sont des marques de leurs propriétaires respectifs. Chef de projet : Mark Johnson Concepteurs pédagogiques : Aneetinder Chowdhry (NIIT [USA] Inc.), Bhaskar Sengupta (NIIT [USA] Inc.) Directeur de programme : Paul Adare (FYI TechKnowlogy Services) Responsable de programme : Gregory Weber (Volt Computer Services) Consultants techniques : Jeff Clark, Chris Slemp Graphiste : Julie Stone (indépendante) Responsable d'édition : Lynette Skinner Éditeur : Jeffrey Gilbert Correctrice : Kaarin Dolliver (S&T Consulting) Responsables des tests : Sid Benavente, Keith Cotton Développeur des tests : Greg Stemp (S&T OnSite) Ingénieurs-testeurs du cours : Jeff Clark, H. James Toland III Responsable de programme en ligne : Debbi Conger Responsable des publications en ligne : Arlo Emerson (Aditi) Assistance en ligne : David Myka (S&T Consulting) Développement des présentations multimédias : Kelly Renner (Entex) Test du cours : Data Dimensions, Inc. Assistance à la production : Irene Barnett (S&T Consulting) Responsable de la fabrication : Rick Terek Assistance à la fabrication : Laura King (S&T OnSite) Responsable produit, Services de développement : Bo Galford Responsables produit : Gerry Lang, Julie Truax Directeur de l'unité produit : Robert Stewart

Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives 1 Objectifs À la fin de cet atelier, vous serez à même d'effectuer les tâches suivantes :!" créer plusieurs objets du service d'annuaire Active Directory ;!" modifier plusieurs objets Active Directory ;!" supprimer plusieurs objets Active Directory. Conditions préalables Avant de poursuivre, vous devez disposer de connaissances dans les domaines suivants :!" service d'annuaire Active Directory ;!" protocole LDAP (Lightweight Directory Access Protocol) ;!" écriture de fichiers de commandes. Mise en place de l'atelier Pour réaliser cet atelier, vous devez disposer des éléments suivants :!" un ordinateur exécutant Microsoft Windows 2000 Server configuré en tant que contrôleur de domaine ;!" les scripts Cr_user.vbs, Mod_user.vbs, Del_user.vbs et le fichier Users.txt situés dans le dossier Appendix du CD-ROM du stagiaire. Pour plus d'informations Pour plus d'informations sur l'utilisation des interfaces ADSI (Active Directory Service Interface), consultez le site Web à l'adresse suivante : http://msdn.microsoft.com/developer/windows2000/adsi Présentation de l'atelier Cet atelier permet au stagiaire d'utiliser trois scripts ADSI pour créer, modifier et supprimer plusieurs objets utilisateur. Le premier script extrait des données d'un fichier texte, modifié par le stagiaire afin d'être utilisé avec les deux autres scripts. Chaque exercice dépend de la tâche effectuée dans l'exercice précédent.

2 Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives Scénario Vous êtes administrateur dans une entreprise et devez ajouter, modifier et supprimer quotidiennement des centaines d'utilisateurs, de groupes et d'unités d'organisation du réseau. Vous souhaitez automatiser la plupart de ces tâches à l'aide de l'environnement d'exécution de scripts Windows et des scripts ADSI. Vous êtes chargé d'effectuer les tâches suivantes :!" créer une unité d'organisation Human Resources ;!" ajouter plusieurs utilisateurs ainsi que leur fonction dans l'unité d'organisation Human Resources ;!" modifier les fonctions de plusieurs utilisateurs ;!" supprimer plusieurs utilisateurs. Durée approximative de cet atelier : 60 minutes Généralités ADSI est un ensemble d'interfaces génériques qui vous permettent d'accéder et d'utiliser différents services d'annuaire. Cet atelier traite du service d'annuaire Active Directory de Windows 2000. Vous pouvez accéder à Active Directory de différentes manières. Il est recommandé d'utiliser ADSI comme interface de programmation d'applications (API, Application Programming Interface) pour accéder à Active Directory. ADSI communique avec Active Directory à l'aide du protocole LDAP. Lorsque vous utilisez un script pour accéder à un objet dans Active Directory, vous devez fournir l'espace de noms LDAP, l'identificateur de programmes, en l'occurrence ProgID, et le chemin d'accès de l'objet, ADsPath. Vous créez ensuite une liaison au domaine afin de fournir un point de référence pour la création et la modification d'objets Active Directory. Espace de noms Un espace de noms est un ensemble de noms uniques. Par exemple, les fichiers stockés sur un lecteur de disque sont situés dans l'espace de noms du système de fichiers. Le nom unique d'un fichier est fonction de son emplacement de stockage dans l'espace de noms du système de fichiers, par exemple : C:\public\documents\adsi\adsi_spec_v3.doc Les espaces de noms du service d'annuaire identifient également les objets qu'ils contiennent par des noms uniques, qui dépendent généralement de l'emplacement de l'annuaire où est situé l'objet. Par exemple, dans Active Directory, un objet donné peut avoir un nom de ce type : CN=jsmith, OU=Sales, DC=nwtraders, DC=msft ProgID et ADsPath ADSI utilise une convention de dénomination qui peut identifier de manière unique un objet ADSI dans un environnement hétérogène. Ces noms sont appelés chaînes ADsPath. Elles comprennent un ProgID (par exemple LDAP: ou WinNT:) et le chemin d'accès du fournisseur.

Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives 3 Le tableau suivant fournit des exemples de chaînes AdsPath : Objet ADSI Unité d'organisation du domaine nwtraders Objet Exchange sur le serveur Exchange Utilisateur jsmith dans l'unité d'organisation Sales du domaine nwtraders comp1 du domaine Redmond alice, utilisateur local sur l'ordinateur comp1 Chemin d'accès LDAP://OU=Sales, DC=nwtraders, DC=msft LDAP://exch01/O=Microsoft LDAP://CN=jsmith, OU=Sales, DC=nwtraders, DC=msft WinNT://REDMOND/comp1, computer WinNT://REDMOND/comp1/alice Notez que chaque ProgID correspond à un espace de noms unique. Entrée rootdse Le standard LDAP, défini dans la RFC (Request For Comments) 2251, nécessite que tous les annuaires LDAP conservent une entrée spéciale, appelée objet rootdse. Cette entrée fournit un ensemble d'attributs opérationnels standard que l'utilisateur peut lire pour trouver les caractéristiques fondamentales de l'annuaire et du serveur. L'entrée rootdse peut également fournir un certain nombre d'attributs spécifiques à un fournisseur. defaultnamingcontext constitue l'un des attributs opérationnels standard. Il contient le nom unique de la racine de l'annuaire. Dans Windows 2000, il s'agit du nom unique du conteneur de domaine à la racine de l'arborescence existante. En lisant l'attribut defaultnamingcontext de l'entrée rootdse, vous pouvez déterminer à quel domaine vous êtes connecté lors de l'exécution. ADSI fournit un mécanisme spécial de liaison à l'entrée rootdse en utilisant l'adspath "LDAP:// rootdse." set Root = GetObject("LDAP://RootDSE") Vous pouvez ensuite extraire le contexte de dénomination par défaut : DomainPath = Root.Get("DefaultNamingContext") Puis, vous pouvez créer une liaison à la racine du domaine : Set Domain = GetObject("LDAP://"& DomainPath) Ces trois lignes de code apparaissent au début de la plupart des scripts ADSI que vous créez. Elles définissent le point de référence de votre script pour que vous puissiez créer des utilisateurs, des groupes et des unités d'organisation au sein du domaine. Vous ne devez jamais utiliser un nom de serveur spécifique. En outre, dans la plupart des cas, vous devez éviter de créer une liaison à un seul serveur. Active Directory prend en charge les liaisons sans serveur (comme l'indique l'exemple précédent). Ainsi, il n'est pas nécessaire de spécifier un serveur si vous accédez à Active Directory dans le domaine de l'utilisateur qui a ouvert une session. Lors de la demande de liaison, ADSI recherche le contrôleur de domaine Windows 2000 dans le domaine de l'utilisateur qui a ouvert une session.

4 Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives Création d'unités d'organisation Vous pouvez désormais utiliser l'objet domaine pour créer d'autres objets, tels que des unités d'organisation. Vous devez créer l'unité d'organisation Human Resources. L'exemple de code utilisé pour créer l'objet unité d'organisation est le suivant : Set ou_hr = Domain.Create("organizationalUnit", "OU=Human Resources") ou_hr.put "Description", "Human Resources" ou_hr.setinfo La méthode Create accepte le nom de la classe et celui du nouvel objet. À ce stade, l'objet n'est pas enregistré dans Active Directory. Cependant, il existe une référence objet ADSI/COM sur le client. L'objet ADSI vous permet de définir ou de modifier les attributs à l'aide de la méthode Put. Celle-ci accepte le nom et la valeur de l'attribut. Cependant, aucun objet n'est enregistré dans l'annuaire. Ils sont tous mis en cache côté client. Lorsque vous appelez la méthode SetInfo, les modifications (en l'occurrence, la création des objets et la modification des attributs) sont enregistrées dans Active Directory. Ces modifications sont traitées par la transaction : soit vous voyez le nouvel objet avec tous ses attributs, soit vous ne voyez pas l'objet. Ouvrez la console Utilisateurs et ordinateurs Active Directory pour vérifier que les objets de l'unité d'organisation apparaissent. Création de comptes d'utilisateur Vous devez désormais créer des utilisateurs dans l'unité d'organisation. L'exemple de code utilisé pour créer un utilisateur est le suivant : Set usr = ou_hr.create("user", "CN=James Smith") usr.put "samaccountname", "jasmith" usr.put "userprincipalname", "jasmith" & "@" & Domain.Get("name") usr.accountdisabled = False usr.setinfo usr.setpassword "password" usr.setinfo Notez que vous devez spécifier l'attribut samaccountname. Il s'agit d'un attribut obligatoire de la classe d'utilisateur. Avant de créer une instance d'un objet, vous devez définir tous les attributs obligatoires. L'attribut samaccountname du compte d'utilisateur permet d'ouvrir une session à partir des ordinateurs exécutant Microsoft Windows 95, Microsoft Windows 98 ou Microsoft Windows NT. Les ordinateurs exécutant Windows 2000 prennent en charge l'attribut samaccountname. Cependant, si le client et le contrôleur de domaine exécutent tous deux Windows 2000, vous pouvez ouvrir une session en utilisant le nom d'utilisateur principal. Dans cet exemple, le nom d'utilisateur principal de James est jasmith@domaine. Si James change de domaine au sein de la forêt, il peut continuer à utiliser son nom d'utilisateur principal.

Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives 5 Vous activez le compte d'utilisateur en attribuant la valeur FALSE (faux) à la propriété AccountDisabled. Les administrateurs peuvent également affecter un mot de passe à l'aide de la méthode SetPassword. Cependant, cette méthode ne fonctionne que si l'objet a été créé dans l'annuaire. Avant de définir le mot de passe de l'utilisateur, vous devez appeler la méthode SetInfo. Remarque L'exemple de code utilisé pour créer un groupe est le suivant : Set Users = GetObject("LDAP://CN=USERS," & DomainPath) Set grp = Users.Create("group", "CN=HR Admins") grp.put "samaccountname", "HRadmins" grp.setinfo Sur la première ligne, l'objet ADSI est affecté au conteneur Users. Le groupe HR Admins est ensuite créé dans ce conteneur. samaccountname est un attribut obligatoire qui permet de fournir une compatibilité descendante. Dans cet exemple, les outils de Microsoft Windows NT version 4.0, tels que le Gestionnaire des utilisateurs, sont capables de distinguer HRadmins de HR Admins. Dans cet atelier, le script ne crée par les objets individuellement, comme l'indiquent les exemples précédents, mais extrait les noms d'utilisateur d'un fichier texte et crée plusieurs objets en utilisant une boucle.

6 Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives Exercice 1 Création d'objets à l'aide d'adsi Dans cet exercice, vous allez utiliser un script pour créer l'unité d'organisation Human Resources et plusieurs comptes d'utilisateur dans cette unité. Les noms d'utilisateur et les fonctions seront copiés dans le script à partir d'un fichier texte. Tâche 1. Ouvrez le fichier Users.txt et créez cinq utilisateurs en respectant la convention employée pour les trois utilisateurs existants. 2. Étudiez, testez et vérifiez le script Cr_user.vbs. Détails a. Ouvrez le fichier Users.txt situé dans le dossier Appendix du CD-ROM du stagiaire. b. Ajoutez cinq utilisateurs à la fin du fichier texte en respectant le format suivant : username:project Lead:Full Name c. Enregistrez le fichier dans le répertoire C:\ADSI (que vous aurez préalablement créé), puis fermez le Bloc-notes. a. Cliquez avec le bouton droit sur Cr_user.vbs dans le dossier Appendix, puis cliquez sur Modifier. b. Étudiez le code annoté, notamment les sections pouvant être personnalisées afin de répondre à vos besoins. c. Fermez le Bloc-notes. d. Double-cliquez sur Cr_user.vbs, puis cliquez sur OK sur les messages de l'environnement d'exécution de scripts Windows qui s'affichent. e. Ouvrez la console Utilisateurs et ordinateurs Active Directory, puis vérifiez que tous les comptes d'utilisateur ont été créés dans l'unité d'organisation Human Resources.

Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives 7 Exercice 2 Modification d'objets à l'aide d'adsi Dans cet exercice, vous allez utiliser un script pour modifier plusieurs comptes d'utilisateur de l'unité d'organisation. Les noms d'utilisateur et les fonctions seront copiés dans le script à partir d'un fichier texte. Tâche 1. Ouvrez le fichier Users.txt, modifiez plusieurs fonctions, puis enregistrez le fichier sous Change.txt. 2. Étudiez, testez et vérifiez le script Mod_user.vbs. Détails a. Ouvrez le fichier Users.txt situé dans le dossier C:\ADSI b. Transformez les fonctions de Project Lead en Project Manager en respectant le format suivant : username:project Manager c. Enregistrez le fichier sous C:\ADSI\Change.txt puis, fermez le Bloc-notes. a. Cliquez avec le bouton droit sur Mod_user.vbs dans le dossier Appendix, puis cliquez sur Modifier. b. Étudiez le code annoté, notamment les sections pouvant être personnalisées afin de répondre à vos besoins. c. Fermez le Bloc-notes. d. Double-cliquez sur Mod_user.vbs, puis cliquez sur OK sur les messages de l'environnement d'exécution de scripts Windows qui s'affichent. e. Ouvrez la console Utilisateurs et ordinateurs Active Directory, puis vérifiez que les comptes d'utilisateur ont été modifiés dans l'unité d'organisation Human Resources.

8 Annexe E : Programmation à l'aide d'une interface ADSI pour automatiser les tâches administratives Exercice 3 Suppression d'objets à l'aide d'adsi Dans cet exercice, vous allez utiliser un script pour supprimer plusieurs comptes d'utilisateur de l'unité d'organisation. Les noms d'utilisateurs seront copiés dans le script à partir d'un fichier texte. Tâche 1. Ouvrez le fichier Change.txt, enlevez les noms d'utilisateur que vous ne souhaitez pas supprimer, puis enregistrez le fichier sous Remove.txt. 2. Étudiez, testez et vérifiez le script Del_user.vbs. Détails a. Ouvrez le fichier Change.txt situé dans le dossier C:\ADSI b. Modifiez le fichier pour ne garder que les noms d'utilisateur à supprimer en respectant le format suivant : username c. Enregistrez le fichier sous Remove.txt, puis fermez le Bloc-notes. a. Cliquez avec le bouton droit sur Del_user.vbs dans le dossier Appendix, puis cliquez sur Modifier. b. Étudiez le code annoté, notamment les sections pouvant être personnalisées afin de répondre à vos besoins. c. Fermez le Bloc-notes. d. Double-cliquez sur Del_user.vbs, puis cliquez sur OK dans l'un des messages de l'environnement d'exécution de scripts Windows qui s'affichent. e. Ouvrez la console Utilisateurs et ordinateurs Active Directory, puis vérifiez que les comptes d'utilisateur ont été supprimés dans l'unité d'organisation Human Resources.