Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Création de Users

7 réponses
Avatar
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 !

7 réponses

Avatar
Jonathan BISMUTH
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" a écrit dans le message de news:

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 !



Avatar
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" a écrit dans le message de news:

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 !








Avatar
Jonathan BISMUTH
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" a écrit dans le message de news:

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" a écrit dans le message de news:

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 !










Avatar
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

Avatar
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" a écrit dans le message de news:

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




Avatar
lorafra
On 23 juil, 08:54, "Jonathan BISMUTH" wrote:
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" a écrit dans le message de news:


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



Avatar
lorafra
On 2 août, 11:58, lorafra wrote:
On 23 juil, 08:54, "Jonathan BISMUTH" wrote:



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" a écrit dans le message de news:


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