limvachlapdinos | SUPER CA MARCHE !!!!!!
MERCI C_MOI !!!!!
Bon alors je donne le script entier pour ceux à qui ça interresse:
Utilité:
Dans Active Directory, permet de créer des comptes utilisateurs à partir d'une liste en fichier texte.
Ca integre le nom (sn), le prénom(GivenName), le nom de session (sAMAccountName et userPrincipalName) et integre l'utilisateur dans un groupe, je monte aussi un lecteur Z: (homeDirectory et homeDrive).
Description de l'exemple:
C'est une liste d'élèves à insérer dans une OU "eleves" qui est dans une OU "ecole".
le script est à insérer dans c:\ANSI\
La liste des élèves doit etre dans le meme répertoire, il sera nommé eleves.txt.
La liste des élève doit etre sur la forme:
Nom:Prenom:nom de session |
Chaque ligne correspond à un compte.
script:
Code :
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Script pour créer les utilisateurs dans Active Directory
- '
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- wscript.echo "Le script commence. Cliquez OK pour continuer."
- DIM arrRecord
- Const ForReading = 1
- ''''''''''''''''''''''''''''''''''''''''''''''''
- ' Determine le chemin LDAP de votre domaine
- ' Rien dans cette partie ne doit etre changé
- ''''''''''''''''''''''''''''''''''''''''''''''''
- Set Root = GetObject("LDAP://RootDSE" )
- DomainPath = Root.Get("DefaultNamingContext" )
- ''''''''''''''''''''''''''''''''''''''''''''''''
- ' Obtenez l'indicateur à votre objet de domaine
- ' Rien dans cette partie ne doit etre changé
- ''''''''''''''''''''''''''''''''''''''''''''''''
- Set Domain = GetObject("LDAP://" & DomainPath)
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Pour indiquer l'OU où mettre les utilisateurs
- '
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- Set ou_HR = GetObject("LDAP://OU=eleves,OU=ecole, " & DomainPath)
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' L'objet du fichier systeme est votre point d'entrée dans le fichier système
- ' Rien dans cette partie ne doit etre changé
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- set fso = CreateObject ("Scripting.FileSystemObject" )
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Pour retrouver le fichier texte dans C:\ADSI\eleves.txt
- ' Le nom et l'emplacement peuvent etre modifiés
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- Set tsTextFile = fso.OpenTextFile ("C:\ADSI\eleves.txt", ForReading, False)
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Commence à lire le fichier rentré, début de la boucle
- '
- ' Lit une ligne du fichier
- '
- ' Rien dans cette partie ne doit etre changé
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- While Not tsTextFile.AtEndOfStream ' START OF LOOP
- strRecord = tsTextFile.ReadLine
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Découpe la ligne en plusieurs segments délimités par le délimiteur spécifié
- ' (Vous pouvez changer le délimiteur)
- ' mettre chaque segment dans une rangée nommée arrRecord
- ' Le premier segment est référencé par arrRecord(0)
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- arrRecord = Split (strRecord, ":" )
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Création de l'utilisateur dans l'OU
- ' Rien dans cette partie ne doit etre changé
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- Set adsUser = ou_HR.Create("user", "CN=" & arrRecord(2))
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Définit les sAMAccountName et userPrincipalName
- ' attribués pour chaque utilisateur
- ' Rien dans cette partie ne doit etre changé
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- adsUser.Put "sAMAccountName", arrRecord(2)
- adsUser.Put "userPrincipalName", arrRecord(2)
- adsUser.SetInfo
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Active le compte qui est désactivé par défaut
- '
- ' Rajoute les attributs aditionnés listés dans le fichier texte
- '
- ' Dans cet exemple, l'attribut de description sera
- ' rempli dans le second (1) segment
- ' et l'attribut du nom affiché est pris du troisième
- ' (2) segment
- '
- ' Changez cette partie d'attributs add/change
- ' rentrés dans le fichier texte
- ''''''''''''''''''''''''''''''''''''''''''''''''''''''
- adsUser.AccountDisabled = False
- adsUser.sn = arrRecord(0)
- adsUser.GivenName = arrRecord(1)
- adsUser.homeDirectory = "\\serveur\partages"
- adsUser.homeDrive = "Z:"
- '''''''''''''''''''''''''''''''''''''''''''''''''
- 'ajout de cet utilisateur au groupe "eleves" de l'OU "eleves"
- '''''''''''''''''''''''''''''''''''''''''''''''''''''
- set grp = GetObject("LDAP://CN=eleves,OU=eleves,OU=ecole,DC=ecole,DC=com" )
- grp.Add "LDAP://CN="&arrRecord(2)&",OU=eleves,OU=ecole,DC=ecole,DC=com"
- '''''''''''''''''''''''''''''''''''''''''''''''''
- ' SetInfo flushes the attributes in cache to disk
- ' Rien dans cette partie ne doit etre changé
- '''''''''''''''''''''''''''''''''''''''''''''''''
- adsUser.SetInfo
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Efface adsUser pour le prochain utilisateur
- ' Rien dans cette partie ne doit etre changé
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''
- Set adsUser = Nothing
- Wend ' END OF LOOP
- ''''''''''''''''''''''''''''''''''''''''''''''''
- ' Ferme le fichier texte
- ' Rien dans cette partie ne doit etre changé
- ''''''''''''''''''''''''''''''''''''''''''''''''
- tsTextFile.Close
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Boite de dialogue finie
- ' Rien dans cette partie ne doit etre changé
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- wscript.echo "Eleves créés.", Chr(10),Chr(10),"Cliquez pour finir."
|
A la prochaine !
lim Message édité par limvachlapdinos le 14-10-2004 à 10:37:54
|