Ajouter un utilisateur dans l'AD selon un fichier txt ???

Darst Messages postés 2 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 2 juin 2005 - 2 juin 2005 à 14:47
Darst Messages postés 2 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 2 juin 2005 - 2 juin 2005 à 15:46
hello,



je cherche a améliorer mon VBS.



mon VBS actuel permet de creer un utilisateur dans une AD, le place
dans un OU, crée nom, prénom, nom de connexion, mot de pass, et crée un
repertoir personnel (sur C:\users\nom de l'user y modifier les droits NTFS et crée un partage.

(le code entier est mis plus bas)



je voudrais donc maintenant pouvoir faire la meme chose selon un petit
fichier texte où les informations (nom, prénom, mot de pass, etc...)
sont préalablement renseigné, et où les champs sont remplacé par des
";" ou des tab, ou n'importe.



mon script irai chercher ces informations dans ce fichier et ferai les necessaires pour créer les comptes.



est-ce que quelqu'un aurait une manière de proceder ou un exemple de script ? voir mieux, mon script adapté.



voici mon script :





on error resume next

'on recupere le domaine

set objdomaine = Wscript.createobject("Wscript.Network")

domainelocal=objdomaine.USERDOMAIN

domaine=inputbox("Entre un nom de domaine ?","Ajout User",domainelocal)

'on test si la variable domain est vide.

'Si oui appel de la fonction SORTIE

if domaine="" then sortie

'on demande l'extension

extension=inputbox("Entre l'extention du domaine","Ajout User")

'on test si l'extension est vide

if extension="" then sortie

'on accéde au domaine

set objdomaine = getobject("LDAP://dc=" & domaine & ",dc=" & extension)

'on passe à l'OU

ou=inputbox("Entre l'OU","Ajout User")

'on test si la variable OU est vide

if OU="" then sortie

'on accede à l'OU

set objou=objdomaine.create("organizationalunit", "ou=" & ou)

objou.setinfo

if err.number <> 0 then

msgbox "L'OU " & OU & " existe déjà" & vbcr & vbcr & _

"le programme va continuer"

end if





Nuser = inputbox("Entre le nom du User","Ajout User")

if Nuser="" then sortie

PNuser = inputbox("Entre le prénom de " & Nuser,"Ajout User")

if PNuser="" then sortie

Luser = inputbox("Entre le login de " & Nuser & " " & PNuser, "Ajout User", Nuser & "" & PNuser)

if Luser="" then sortie

PWDuser = inputbox("Entre le mot de pass de " & Nuser, "Ajout User", "123456")



set objuser = objOU.create ("user", "cn=" & Luser)



full = Nuser & " " & PNuser



objuser.put "UserPrincipalName", Luser

objuser.put "Samaccountname", Luser

objuser.put "givenname", PNuser

objuser.put "sn", Nuser

objuser.put "displayname", full

objuser.setinfo



objuser.setpassword PWDuser

objuser.AccountDisabled=false

objuser.SetInfo



'on crée le dossier

set objexplorer=createobject("Scripting.FileSystemobject")

'on crée un repertoire

set objrep=objexplorer.createfolder("C:\users" & Luser)

'on cherche le shell

set objshell=Wscript.createobject("Wscript.Shell")

'on met les droit par le shell

objshell.run "cmd /c echo O | cacls C:\users" & Luser & " /T /C /G " & Luser & _

":C ""Admins du domaine"":F"



objshell.run "net share " & Luser & "$=C:\users" & Luser





function sortie()

msgbox "Fin des haricots."

Wscript.quit

end function

1 réponse

Darst Messages postés 2 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 2 juin 2005
2 juin 2005 à 15:46
j'ai finis par trouver une piste dans le script center, j'utilise cette fonction :





Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objTextFile = objFSO.OpenTextFile _

("c:\user.txt", ForReading)

Do Until objTextFile.AtEndOfStream

strNextLine = objTextFile.Readline

arrServiceList = Split(strNextLine , ",")

Wscript.Echo "Server name: " & arrServiceList(0)

For i = 1 to Ubound(arrServiceList)

Wscript.Echo "Service: " & arrServiceList(i)

Next

Loop
0
Rejoignez-nous