Vous êtes sur la page 1sur 7

Cours 420-KEG-LG, Gestion de rseaux et support technique

Atelier 5.1
Utilisation des commandes Active Directory pour la gestion des comptes
utilisateurs

1- Utilisation de la commande DSADD pour lautomatisation des tches (40


minutes, avec explications)

Dfinition d'un annuaire :

Active Directory est dfini comme un annuaire unique des ressources dune entreprise. Un
annuaire est comme une base de donnes o les informations sont prsentes de manire
hirarchique. Voici quelques particularits d'un annuaire :

Les informations d'un annuaire sont hirarchises (contrairement une BD o


l'information est gnralement organise sous forme de tables relationnelles).

local

KegLg

Gestion Ordinateurs

Info 2009 Martin Poste 102

Figure 1: Arbre de l'annuaire

Un annuaire doit tre capable de grer l'authentification des utilisateurs ainsi que les
droits de ceux-ci pour la consultation ou la modification de donnes .
Un annuaire est accd par un protocole lger : Pour Windows Server 2003 et 2008,
le protocole en question est LDAP (Lightweight Directory Access Protocol).

1
Prpar par Saliha Yacoub, modifi par Etienne Forest
Cours 420-KEG-LG, Gestion de rseaux et support technique
Le protocole LDAP dfinit les entres de lannuaire par un DN (Distinguished
Name). Un DN est constitu de lensemble des entres sous la forme dun chemin
daccs depuis le sommet de larbre.

Remarque :
Le DN dun usager, dun groupe dusager ou dun ordinateur est constitu de son CN
(Common Name, nom commun) suivi de lOU (Organizational Unit, unit dorganisation) suivi
dun ou plusieurs DC (Domain Components, composantes du domaine). Les DC contiennent
les diffrentes parties du nom de domaine (une pour chaque tiquette), dans lordre.
Par exemple, selon la figure 1, le DN de Martin sera :
CN=Martin, OU=Gestion, DC=KEGLG, DC=local
Toujours selon la mme figure, le DN du groupe info2009 sera :
CN=info2009, OU=Gestion, DC=KEGLG, DC=local

Rappels sur DSADD


La commande DSADD (pour Directory Service Add) peut tre utilise pour crer diffrents
objets dans notre annuaire (Active Directory). On lui donne comme premier paramtre le
type dobjet crer. Par exemple, DSADD user permet de crer un utilisateur avec tous
les paramtres qui sy rattachent. Sa syntaxe gnrale est de la forme :

DSADD user IdUtilisateur liste [paramtres]


Idutilisateur est obligatoire et de la forme :

"CN=NomCompte, OU=NomUnit, DC=Domaine, DC=Domaine"

Les paramtres sont optionnels et sont prcds du signe . Ces paramtres seront
toujours suivis dune valeur attribuer au paramtre. Voici quelques paramtres communs :

Paramtre Signification
-upn User principal name (nom du compte)
-fn First name (prnom)
-ln Last name (nom de famille)
-pwd {Motdepasse|*} Mot de passe, * vous invite saisir un mot de passe
-memberof IdGroupe Faisant partie du groupe. IdGroupe est du mme type
que IdUtilisateur (donc un CN complet)
-hmdir Rpertoire de base
-hmdrv Lettre du lecteur de base
-profile Chemin du profil
-mustchpwd{yes|no} Doit changer le mot de passe (oui ou non)

2
Prpar par Saliha Yacoub, modifi par Etienne Forest
Cours 420-KEG-LG, Gestion de rseaux et support technique
-pwdneverexpires{yes|no} Mot de passe nexpire jamais (oui ou non)
-disabled {yes|no} Le compte est dsactiv (oui ou non)

(Pour plus de dtails, sous linvite de commande tapez :DSADD USER /?)

Cration de plusieurs utilisateurs (utilsateur1, utilisateur2, ,


utilisateurN) avec la commande DSADD

Parfois, nous dsirons crer plusieurs utilisateurs avec les mmes paramtres et nomms
squentiellement, et ce pour des besoins spcifiques (comme par exemple dans le cas dune
classe de 30 lves). Dans ce cas, on pourrait crer 30 utilisateurs (utilisateur1 utilisateur30)
pour des besoins pdagogiques.

Lutilisation de linterface dActive Directory pour la cration de 30 usagers, mme en


utilisant la mthode des templates, est un peu fastidieuse. La commande DSADD, utilise
avec une boucle FOR permet de crer plusieurs usagers trs rapidement en une seule ligne
de commande!

Cest FOR qui fait tout le travail, en ralit. La commande DSADD en tant que telle nest
pas prvue pour crer des usagers en lot. On fait simplement linclure dans une boucle
(fonctionnalit offerte par Windows).

Voici la syntaxe :

FOR /L %i in (dbut,incrment,fin) DO DSADD USER "CN=utilisateur%i,


OU=NomUnit, DC=Domaine, DC=Domaine"{paramtres}

Exemple :

FOR /L %i in (1,1,30) DO DSADD USER "CN=utilisateur%i, OU=lves,


DC=Keglg10, DC=local" pwd 1qaz2WSX disabled no

Cette commande crera donc 30 usagers nomms utilisateur1, utilsateur2, jusqu


utilisateur30, dont le mot de passe est 1qaz2WSX et dont les comptes sont activs. Ces
utilisateurs sont cres dans lUO lves et dans le domaine Keglg10.local.

Plus de dtails sur FOR et FOR /L (selon laide de Microsoft)


For :
Excute une commande dtermine pour chaque fichier appartenant un jeu particulier.

Syntaxe :
for {%variable|%%variable} in (jeu) do commande [ OptionsLigneCommande]

Paramtres
{%variable|%%variable}
Important. Reprsente un paramtre remplaable. Utilisez %variable pour excuter for l'invite de
commandes. Utilisez %%variable pour excuter la commande for dans un fichier de commandes.
Les variables respectent la casse et doivent tre reprsentes l'aide d'une valeur alpha, telle que
%A, %B ou %C.

3
Prpar par Saliha Yacoub, modifi par Etienne Forest
Cours 420-KEG-LG, Gestion de rseaux et support technique
(jeu)
Important. Spcifie un ou plusieurs fichiers, rpertoires, plages de valeurs ou chanes de texte que
vous voulez traiter l'aide de la commande spcifie. Les parenthses sont obligatoires.

commande
Important. Spcifie la commande que vous voulez excuter sur chaque fichier, rpertoire, plage de
valeurs ou chane de texte comprise dans le (jeu) spcifi.

OptionsLigneCommande
Spcifie les options de ligne de commande que vous souhaitez utiliser avec la commande spcifie.

Utilisation des paramtres de commande


Les attributs suivants s'appliquent la commande for :

La commande for remplace %variable (ou %%variable) par chaque chane de texte du jeu spcifi
jusqu' ce que la commande ait trait tous les fichiers. Les noms des variables for respectent la
casse, sont des variables globales et vous ne pouvez pas en activer plus de 52 au total.
Pour viter toute confusion avec les paramtres de commande %0 %9, vous pouvez utiliser pour
la variable n'importe quel caractre, l'exception des chiffres 0 9. Pour les fichiers de commandes
simples, un seul caractre, tel que %%f, suffit. Dans les fichiers de commandes complexes, vous
pouvez utiliser plusieurs valeurs pour la variable afin de distinguer les diverses variables
remplaables.

Spcification d'un groupe de fichiers


Le paramtre jeu peut reprsenter un seul ou plusieurs groupes de fichiers. Pour spcifier un jeu de
fichiers, vous pouvez utiliser des caractres gnriques (* et ?). Les jeux suivants sont tous
valides :

(*.doc)

(*.doc *.txt *.me)

(jan*.doc jan*.rpt fv*.doc fv*.rpt)

(ar??1991.* ap??1991.*)

Quand vous utilisez la commande for, la premire valeur du jeu remplace %variable ou
%%variable, puis la commande spcifie traite cette valeur. Ce processus continue jusqu' ce tous
les fichiers (ou groupes de fichiers) correspondant la ou aux valeurs du jeu aient t traits.

Utilisation des mots cls in et do


In et do ne sont pas des paramtres, mais ils sont requis dans la commande for. Si vous omettez
l'un ou l'autre de ces mots cls, un message d'erreur apparat.

Utilisation de formes supplmentaires de for


Si les extensions de commande sont actives (ce qui est le cas par dfaut), les formes
supplmentaires suivantes de la commande for sont prises en charge.

Itration d'une page de valeurs


for /L {%% | %}variable in (dbut#,incrment#,fin#) do commande [OptionsLigneCommande]

Utilisez une variable itrative pour dfinir la valeur de dbut (dbut#), puis avancez dans une plage
dfinie de valeurs jusqu' ce que la valeur dpasse la valeur de fin dfinie (fin#). /L excute
l'itration en comparant dbut# et fin#. Si dbut# est infrieur fin#, la commande s'excute.
Lorsque la variable itrative dpasse fin#, la commande quitte la boucle. Vous pouvez galement
utiliser une valeur incrment# ngative pour faire dfiler une plage de valeurs dcroissantes. Par
exemple, (1,1,5) gnre la squence 1 2 3 4 5 et (5,-1,1) gnre la squence (5 4 3 2 1).

4
Prpar par Saliha Yacoub, modifi par Etienne Forest
Cours 420-KEG-LG, Gestion de rseaux et support technique

Cration des usagers en utilisant un fichier txt.

Contrairement au cas prcdent, il arrive que nous souhaitons crer plusieurs usagers avec
des paramtres communs aux diffrents usagers, mais galement avec des paramtres
diffrents (par exemple, leur nom). Dans ce cas, les paramtres des utilisateurs sont transmis
dans un fichier texte. Le fichier texte doit tre stock dans votre rpertoire courant.

Encore une fois, cest le FOR qui nous sauve la mise. On utilisera par contre une autre
syntaxe du FOR : FOR /F (pour lecture dans les fichiers. Le premier paramtre pass
FOR /F est une suite doptions spares par des espaces, le tout entre guillemets. Ces
options indiquent FOR comment parcourir le fichier. Loption tokens permet de spcifier
les jetons (ou variables) seront cres pour contenir les donnes dune ligne. Par exemple :
tokens=1,2,3 signifie que le champs 1, 2 et 3 devront tre lus et placs dans des variables.
Loption delims permet de dfinir les dlimiteurs, c'est--dire les caractres qui sparent les
champs. On peut aussi utiliser loption eol pour spcifier un caractre de fin de ligne (par
dfaut, cest Enter donc on na pas besoin de le dire dans ce cas-l), et loption skip pour
sauter des lignes au dbut (dans le cas dune entte, par exemple).

On nommera galement une variable utiliser dans la boucle. Cette variable contiendra le
premier champ et dautres variables (les suivantes dans lalphabet) seront automatiquement
cres pour contenir les champs suivants.

Le jeu (qui donnait des balises pour compter FOR /L) sera maintenant simplement le nom
du fichier texte.

Voici un exemple. Supposons le fichier suivant :

Nous souhaitons crer les usagers dont les noms et prnoms sont dans le fichier users.txt.
La commande approprie pour ce faire sera :

FOR /F "tokens=1,2 delims=," %i in (essai.txt) DO DSADD user "cn=%i,


ou=lves, dc=keglg10, dc=local" -ln %i fn %j -pwd 1qaz2WSX

Plus de dtails sur FOR/F (selon laide de Microsoft)


Itration et analyse de fichier
Utilisez l'analyse de fichiers pour traiter la sortie de la commande, les chanes et le contenu des
fichiers. Utilisez des variables itratives pour dfinir le contenu ou les chanes que vous voulez

5
Prpar par Saliha Yacoub, modifi par Etienne Forest
Cours 420-KEG-LG, Gestion de rseaux et support technique
examiner et utilisez les diffrentes options MotsClsAnalyse pour continuer modifier l'analyse.
Utilisez l'option de jeton MotsClsAnalyse pour spcifier quels jetons doivent tre passs en tant que
variables d'itration. Notez que sans l'option de jeton, /F n'examine que le premier jeton.

L'analyse des fichiers consiste lire la sortie, la chane ou le contenu du fichier, le diviser en
lignes de texte spares, puis analyser chaque ligne dans zro jeton ou davantage. La boucle for
est ensuite appele avec la valeur de variable d'itration dfinie sur le jeton. Par dfaut, /F passe le
premier jeton spar par un blanc partir de chaque ligne de chaque fichier. Les lignes blanches
sont sautes. Les autres syntaxes sont les suivantes :

for /F ["MotsClsAnalyse"] {%% | %}Variable in (JeuNomsFichiers) do Commande


[OptionsLigneCommande]

Mot cl Description

eol=c Spcifie un caractre de fin de ligne (juste un caractre).

skip=N Spcifie le nombre de lignes sauter au dbut du fichier.

delims=xxx Spcifie un jeu de sparateur. Celui-ci remplace le jeu de dlimiteur par dfaut
constitu de l'espace et de la tabulation.

tokens=X,Y,M- Spcifie les jetons de chaque ligne qui doivent tre passs au corps de la
N commande for pour chaque itration. Par consquent, les noms de variables
supplmentaires sont allous. La forme M-N est une plage qui spcifie le Mime
au Nime jeton. Si le dernier caractre de la chane tokens= est un astrisque
(*), une variable supplmentaire est alloue pour recevoir le texte restant de la
ligne aprs le dernier jeton analys.

Exercice1

En utilisant la commande DSADD, crer 15 utilisateurs (utilisateur1 utilisateur15) dans


votre domaine et dans lOU lves. Les utilisateurs auront tous le mme mot de passe,
auront des comptes activs et doivent changer leur mot de passe ds leur premier login.

Exercice2

1- Dans lOU lves, crez le groupe info2010


2- Dans un fichier texte, crez 10 usagers ayant un nom, un prnom, et un nom de
compte, comme ceci (crez les noms que vous voulez) :

6
Prpar par Saliha Yacoub, modifi par Etienne Forest
Cours 420-KEG-LG, Gestion de rseaux et support technique

3- En utilisant la commande DSADD USER, crez les utilisateurs contenus dans votre
fichier texte.

Chaque utilisateur aura donc les caractristiques personnelles : nom, prnom et nom
de compte. Tous les utilisateurs auront les paramtres communs suivants :

Appartiennent au groupe info2009.


Ont un mme mot de passe
Devront changer le mot de passe
Ont leur compte activ

7
Prpar par Saliha Yacoub, modifi par Etienne Forest