[Catégorie modifiée .Net -> VBS] Problème [super titre !]

Filaz13 Messages postés 1 Date d'inscription samedi 14 mai 2011 Statut Membre Dernière intervention 14 mai 2011 - 14 mai 2011 à 19:06
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 15 mai 2011 à 14:58
Bonjour à tous,

Je suis étudiant et j'ai besoin de réaliser un script pour une étude de cas.

Je vous précise que je suis débutant de chez débutant en script et en plus je n'y comprend pas grand chose pour l'instant.

J'ai un problème dans le script suivant.

Ce script est chargé de créer des O.U; les comptes utilisateurs dans les O.U;
renseigner plusieurs champs dans les comptes utilisateurs; créer les répertoires de Services et les répertoires des Utilisateurs pour les données;
créer les mots de passe aléatoire pour chaque utilisateurs; il puise ces renseignements à partir d'un fichier.CSV et renvoie un rapport également en .CSV.

Voilà mon problème: Le script ne crée que les comptes utilisateurs disposant d'un numéro de téléphone.



'Script de création D'O.U.; de Comptes Utilisateurs avec mot de passe aléatoire; de répertoires de services et d'utilisateurs ainsi 
'qu'un fichier de rapport.   


'Oblige à déclarer les variables
Option Explicit

'On défini que si une erreur apparait pendant le script alors il continu à la ligne suivante
On Error Resume Next

'On déclare les variables 
Dim v_ligne,v_fichier,v_tableau,v_compteur,v_OU,v_nom,v_prenom,v_nom_complet,v_login, v_mdp,v_rapport,v_poste,v_phone
Dim v_special1, v_special2, v_special3, v_special4, v_special5, v_special6, v_special7, v_special8
Dim obj_explorer,obj_fichier,obj_domain,obj_OU,obj_utilisateur,obj_rapport,obj_dossier 
  
'On définit les variables
v_fichier="C:\personnel evolution.csv"
v_rapport="C:\rapport.csv"
v_compteur=0

'On accède au fichier.csv en appelant l'explorateur
Set obj_explorer=CreateObject ("scripting.filesystemobject")

'Le chiffre 1 précise que l'on ouvre en mode lecture
Set obj_fichier=obj_explorer.OpenTextFile(v_fichier,1)	

'Le chiffre 8 précise que l'on ouvre en mode écriture et l'option true permet de rajouter des données même si il existe déjà
Set obj_rapport=obj_explorer.OpenTextFile(v_rapport,8,True)

'On définit où va reprendre la boucle
Do Until obj_fichier.AtEndOfStream

'A partir d'ici on accède au domaine
Set obj_domain=GetObject("LDAP://dc=evo,dc=local")

'On définit les variables
v_compteur=v_compteur+1
v_ligne=obj_fichier.ReadLine
v_tableau=Split(v_ligne,";")

'If=Si et Then=Alors
If v_compteur<>1 Then
v_OU=v_tableau(4)

'On crée l'OU
Set obj_OU=obj_domain.create("organizationalunit","OU=" & v_OU)

'On valide la création de l'OU
obj_OU.setinfo

'On définit les autres variables
v_nom=v_tableau(0)
v_prenom=v_tableau(1)
'v_phone=v_tableau(2)
v_poste=v_tableau(3)
v_nom_complet=v_prenom & " " & v_nom
v_login=Left(v_prenom,1)& "." & v_nom

'Indique à l'ordinateur que l'on va tirer un nombre aléatoire 
Randomize	

'On définit les variables 8 fois de suite
v_special1=Rnd ()*25+65
v_special1=CInt(v_special1)
v_special1=Chr (v_special1)

v_special2=Rnd ()*25+97
v_special2=CInt(v_special2)
v_special2=Chr (v_special2)

v_special3=Rnd()*14+33
v_special3=CInt(v_special3)
v_special3=Chr (v_special3)

v_special4=Rnd ()*10
v_special4=CInt(v_special4)

v_special5=Rnd ()*25+65
v_special5=CInt(v_special5)
v_special5=Chr (v_special5)

v_special6=Rnd ()*25+97
v_special6=CInt(v_special6)
v_special6=Chr (v_special6)

v_special7=Rnd ()*14+33
v_special7=CInt(v_special7)
v_special7=Chr (v_special7)

v_special8=Rnd ()*10
v_special8=CInt(v_special8)

v_mdp=v_special1 & v_special2 & v_special3 & v_special4 & v_special5 & v_special6 & v_special7 & v_special8

'A partir d'ici on accède au domaine
Set obj_domain=GetObject("LDAP://OU=" & v_OU & ",dc=evo,dc=local") 

'On créer les utilisateurs
Set obj_utilisateur=obj_domain.create("user","cn=" & v_login)
obj_utilisateur.put "givenname",v_prenom
obj_utilisateur.put "sn",v_nom
obj_utilisateur.put "displayname",v_nom_complet
obj_utilisateur.put "userprincipalname",v_login
obj_utilisateur.put "samaccountname",v_login
obj_utilisateur.put "description",v_poste
obj_utilisateur.put "telephoneNumber",v_phone

obj_utilisateur.setinfo
obj_utilisateur.setpassword v_mdp
obj_utilisateur.accountdisabled=false
obj_utilisateur.setinfo

'On créé un fichier rapport 
obj_rapport.WriteLine v_nom & ";" & v_prenom & ";" & v_login & ";" & v_mdp & ";" & v_poste & ";" & v_phone

'On créer les répertoires des services et des utilisateurs
Set obj_dossier=obj_explorer.CreateFolder("D:\USERS" & v_login)
Set obj_dossier=obj_explorer.CreateFolder("D:\SERVICES" & v_OU)

'Fin des conditions
End If

'A partir d'ici on recommence la boucle
Loop

'On ferme le fichier de rapport
obj_rapport.Close

'On lance un message indiquant que les opérations sont effectuées
MsgBox "O.U, COMPTES, REPERTOIRES et RAPPORT créés"



Merci d'avance si quelqu'un à le temps de s'occuper de mon problème.

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 mai 2011 à 14:58
lu

Le seul endroit où on voit quelque chose qui ressemble à un téléphone est une ligne mise en commentaire.
Aucune idée de se que renferme ton tableau v_tableau()

Trop vague pour obtenir de l'aide.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous