Création de Users

Le
Pat
Bonjour,

Je suis nouveau dans le métier, je cherche un petit script en VBS me
permettant de créer des utlisateurs AD dans une OU spécifique à partir d'un
fichier importer avec les info et le format suivant :

Nom;Prénom;Login;Desciption;Téléphone

Durand;Tom;TDurand;Comptable;06******


Merci beaucoup de votre aide !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jonathan BISMUTH
Le #676625
Salut Pat et bienvenue dans le métier :)
Un petit truc pour commencer :

- fichier texte : toto.csv
- domaine:domaine.lan
- OU=mon_OU

'## debut script###
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set objOU = GetObject("LDAP://OU=mon_OU,dc=domaine,dc=lan")


dim fso, df1
CSVFile = "c:chemintoto.csv"

Set fso = CreateObject("Scripting.FileSystemObject")
Set df1 = fso.OpenTextFile(CSVFile,ForReading,True)

Do while Not df1.AtEndOfStream
varLigne = df1.readline()

NomUser = split(varLigne,";")(0)
PrUser = split(varLigne,";")(1)
Login = split(varLigne,";")(2)
Desc = split(varLigne,";")(3)
Tel = split(varLigne,";")(4)

Set objUser = objOU.Create("User", "cn="&Login)
objUser.Put "sAMAccountName", Login
objUser.Put "UserPrincipalName", ""& Login &"@domaine.lan"
objUser.Put "givenName", PrUser
objUser.Put "sn", NomUser
objUser.Put "description", Desc
objUser.Put "telephoneNumber", Desc
objUser.SetInfo

objUser.AccountDisabledúlse
objUser.SetInfo
Loop
df1.close


WScript.Quit
'## fin script###

et voilà :)

Cordialement,
--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net

"Pat"
Bonjour,

Je suis nouveau dans le métier, je cherche un petit script en VBS me
permettant de créer des utlisateurs AD dans une OU spécifique à partir
d'un
fichier importer avec les info et le format suivant :

Nom;Prénom;Login;Desciption;Téléphone

Durand;Tom;TDurand;Comptable;06******


Merci beaucoup de votre aide !



Pat
Le #676334
Merci beaucoup de ton aide !


Salut Pat et bienvenue dans le métier :)
Un petit truc pour commencer :

- fichier texte : toto.csv
- domaine:domaine.lan
- OU=mon_OU

'## debut script###
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set objOU = GetObject("LDAP://OU=mon_OU,dc=domaine,dc=lan")


dim fso, df1
CSVFile = "c:chemintoto.csv"

Set fso = CreateObject("Scripting.FileSystemObject")
Set df1 = fso.OpenTextFile(CSVFile,ForReading,True)

Do while Not df1.AtEndOfStream
varLigne = df1.readline()

NomUser = split(varLigne,";")(0)
PrUser = split(varLigne,";")(1)
Login = split(varLigne,";")(2)
Desc = split(varLigne,";")(3)
Tel = split(varLigne,";")(4)

Set objUser = objOU.Create("User", "cn="&Login)
objUser.Put "sAMAccountName", Login
objUser.Put "UserPrincipalName", ""& Login &"@domaine.lan"
objUser.Put "givenName", PrUser
objUser.Put "sn", NomUser
objUser.Put "description", Desc
objUser.Put "telephoneNumber", Desc
objUser.SetInfo

objUser.AccountDisabledúlse
objUser.SetInfo
Loop
df1.close


WScript.Quit
'## fin script###

et voilà :)

Cordialement,
--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net

"Pat"
Bonjour,

Je suis nouveau dans le métier, je cherche un petit script en VBS me
permettant de créer des utlisateurs AD dans une OU spécifique à partir
d'un
fichier importer avec les info et le format suivant :

Nom;Prénom;Login;Desciption;Téléphone

Durand;Tom;TDurand;Comptable;06******


Merci beaucoup de votre aide !








Jonathan BISMUTH
Le #676333
pas de soucis.
n'hésite pas si tu as des questions :)

--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net

"Pat"
Merci beaucoup de ton aide !


Salut Pat et bienvenue dans le métier :)
Un petit truc pour commencer :

- fichier texte : toto.csv
- domaine:domaine.lan
- OU=mon_OU

'## debut script###
Const ForReading = 1, ForWriting = 2, ForAppending = 8

Set objOU = GetObject("LDAP://OU=mon_OU,dc=domaine,dc=lan")


dim fso, df1
CSVFile = "c:chemintoto.csv"

Set fso = CreateObject("Scripting.FileSystemObject")
Set df1 = fso.OpenTextFile(CSVFile,ForReading,True)

Do while Not df1.AtEndOfStream
varLigne = df1.readline()

NomUser = split(varLigne,";")(0)
PrUser = split(varLigne,";")(1)
Login = split(varLigne,";")(2)
Desc = split(varLigne,";")(3)
Tel = split(varLigne,";")(4)

Set objUser = objOU.Create("User", "cn="&Login)
objUser.Put "sAMAccountName", Login
objUser.Put "UserPrincipalName", ""& Login &"@domaine.lan"
objUser.Put "givenName", PrUser
objUser.Put "sn", NomUser
objUser.Put "description", Desc
objUser.Put "telephoneNumber", Desc
objUser.SetInfo

objUser.AccountDisabledúlse
objUser.SetInfo
Loop
df1.close


WScript.Quit
'## fin script###

et voilà :)

Cordialement,
--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net

"Pat"
Bonjour,

Je suis nouveau dans le métier, je cherche un petit script en VBS me
permettant de créer des utlisateurs AD dans une OU spécifique à partir
d'un
fichier importer avec les info et le format suivant :

Nom;Prénom;Login;Desciption;Téléphone

Durand;Tom;TDurand;Comptable;06******


Merci beaucoup de votre aide !










jbongran
Le #676332
Jonathan BISMUTH wrote:
[...]
varLigne = df1.readline()

NomUser = split(varLigne,";")(0)
PrUser = split(varLigne,";")(1)
Login = split(varLigne,";")(2)
Desc = split(varLigne,";")(3)
Tel = split(varLigne,";")(4)

Set objUser = objOU.Create("User", "cn="&Login)
objUser.Put "sAMAccountName", Login
objUser.Put "UserPrincipalName", ""& Login &"@domaine.lan"
objUser.Put "givenName", PrUser
objUser.Put "sn", NomUser
objUser.Put "description", Desc
objUser.Put "telephoneNumber", Desc
objUser.SetInfo

objUser.AccountDisabledúlse
objUser.SetInfo


Une petite optimisation possible en supprimant les multiples split:
arrLigne = Split(df1.readline(), ";")
Puis utiliser directement la valeur du tableau:
objUser.Put "givenName", arrLigne(1)
objUser.Put "sn", arrLigne(0)
objUser.Put "description", arrLigne(3)

J'imagine bien que la différence ne se fera sentir que sur de gros fichiers
d'import

Jonathan BISMUTH
Le #676329
Oui, mais l'optimisation est réelle!

Merci infiniment du complément J :)

--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)
www.portail-mcse.net


"jbongran"
Jonathan BISMUTH wrote:
[...]
varLigne = df1.readline()

NomUser = split(varLigne,";")(0)
PrUser = split(varLigne,";")(1)
Login = split(varLigne,";")(2)
Desc = split(varLigne,";")(3)
Tel = split(varLigne,";")(4)

Set objUser = objOU.Create("User", "cn="&Login)
objUser.Put "sAMAccountName", Login
objUser.Put "UserPrincipalName", ""& Login &"@domaine.lan"
objUser.Put "givenName", PrUser
objUser.Put "sn", NomUser
objUser.Put "description", Desc
objUser.Put "telephoneNumber", Desc
objUser.SetInfo

objUser.AccountDisabledúlse
objUser.SetInfo


Une petite optimisation possible en supprimant les multiples split:
arrLigne = Split(df1.readline(), ";")
Puis utiliser directement la valeur du tableau:
objUser.Put "givenName", arrLigne(1)
objUser.Put "sn", arrLigne(0)
objUser.Put "description", arrLigne(3)

J'imagine bien que la différence ne se fera sentir que sur de gros
fichiers d'import




lorafra
Le #680657
On 23 juil, 08:54, "Jonathan BISMUTH"
Oui, mais l'optimisation est réelle!

Merci infiniment du complément J :)

--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)www.portail-mcse.net

"jbongran"

Jonathan BISMUTH wrote:
[...]
varLigne = df1.readline()

NomUser = split(varLigne,";")(0)
PrUser = split(varLigne,";")(1)
Login = split(varLigne,";")(2)
Desc = split(varLigne,";")(3)
Tel = split(varLigne,";")(4)

Set objUser = objOU.Create("User", "cn="&Login)
objUser.Put "sAMAccountName", Login
objUser.Put "UserPrincipalName", ""& Login &"@domaine.lan"
objUser.Put "givenName", PrUser
objUser.Put "sn", NomUser
objUser.Put "description", Desc
objUser.Put "telephoneNumber", Desc
objUser.SetInfo

objUser.AccountDisabledúlse
objUser.SetInfo


Une petite optimisation possible en supprimant les multiples split:
arrLigne = Split(df1.readline(), ";")
Puis utiliser directement la valeur du tableau:
objUser.Put "givenName", arrLigne(1)
objUser.Put "sn", arrLigne(0)
objUser.Put "description", arrLigne(3)

J'imagine bien que la différence ne se fera sentir que sur de gros
fichiers d'import



Bonjour,

J'ai teste cette premiere partie mais pour l'optimisation je n'y
arrive pas

Peux tu me dire ce que l'on doit remplacer ?

merci



lorafra
Le #678628
On 2 août, 11:58, lorafra
On 23 juil, 08:54, "Jonathan BISMUTH"


Oui, mais l'optimisation est réelle!

Merci infiniment du complément J :)

--
Jonathan BISMUTH
MVP Windows Server - Directory Services
MCSE 2000/ADSI-AutoIT Scripter
Transcript (ID: 691839, code: MCSE2000)www.portail-mcse.net

"jbongran"

Jonathan BISMUTH wrote:
[...]
varLigne = df1.readline()

NomUser = split(varLigne,";")(0)
PrUser = split(varLigne,";")(1)
Login = split(varLigne,";")(2)
Desc = split(varLigne,";")(3)
Tel = split(varLigne,";")(4)

Set objUser = objOU.Create("User", "cn="&Login)
objUser.Put "sAMAccountName", Login
objUser.Put "UserPrincipalName", ""& Login &"@domaine.lan"
objUser.Put "givenName", PrUser
objUser.Put "sn", NomUser
objUser.Put "description", Desc
objUser.Put "telephoneNumber", Desc
objUser.SetInfo

objUser.AccountDisabledúlse
objUser.SetInfo


Une petite optimisation possible en supprimant les multiples split:
arrLigne = Split(df1.readline(), ";")
Puis utiliser directement la valeur du tableau:
objUser.Put "givenName", arrLigne(1)
objUser.Put "sn", arrLigne(0)
objUser.Put "description", arrLigne(3)

J'imagine bien que la différence ne se fera sentir que sur de gros
fichiers d'import



Bonjour,

J'ai teste cette premiere partie mais pour l'optimisation je n'y
arrive pas

Peux tu me dire ce que l'on doit remplacer ?

merci


Resolu !! je n'avais pas mis le bon chemin du fichier




Publicité
Poster une réponse
Anonyme