OVH Cloud OVH Cloud

import AD

1 réponse
Avatar
Xyphos07
j'ai actuellement un fichier excel contenant une liste d'utilisateurs
| (400)
|
| vace 4 colonne Nom, prenom, login et descrpition.
|
| Comment importer correctement de document dans AD (2003) J'ai bien
| regardé csvde mais a première vue je dois modifier tous mon documents
| ?
| quelqu'un aurait'il une solution, un script ?
merci d'avance

1 réponse

Avatar
Gilles LAURENT
"Xyphos07" a écrit dans le message de
news:

Bonjour,

| J'ai actuellement un fichier excel contenant une liste d'utilisateurs
| avec 4 colonnes Nom, prenom, login et descrpition.
|
| Comment importer correctement de document dans AD (2003) J'ai bien
| regardé csvde mais a première vue je dois modifier tous mon documents
| ?

Ci-dessous le script VBScript 'createADUsers.vbs' permettant la création
automatique des objets utilisateurs dans l'annuaire Active Directory à
partir d'une source au format CSV.

+++ Pré requis
Enregistrer les données du fichiers Excel au format CSV
Déterminer le DN d'une OU dans laquelle les utilisateurs seront créés

+++ Usage
>cscript createADUsers.vbs <fichier.csv> <DN de l'OU>

+++ Exemple
>cscript createADUsers.vbs users.csv "ou=monOU,dc=domaine,dc=local"

--- Coupez ici : createADUsers.vbs ---

Option Explicit

' déclaration des variables
Dim oFS, oFile, oUserAttrs
Dim strDomain, strInputFile, strOUContainer, strAttr
Dim arrUserAttrs
Dim nIndex

' définition des attributs de l'objet utilisateur
' les attributs sont définis dans cet ordre dans le fichier
' de configuration (Nom, Prénom, Login, Description)
' deux attributs dérivés sont automatiquement renseignés
arrUserAttrs = Array ( _
"sn", _
"givenName", _
"sAMAccountName", _
"description", _
"userPrincipalName", _
"displayName" _
)

' lecture des arguments
strInputFile = WScript.Arguments (0) ' Fichier CSV
strOUContainer = WScript.Arguments (1) ' DN de l'OU

' lecture du nom dns du domaine AD
strDomain = Split ( _
GetObject ("LDAP://rootDse"). _
Get ("DnsHostName"), ".", 2) _
(1)

' initialisation des objets
Set oFS = CreateObject ("Scripting.FileSystemObject")
Set oUserAttrs = CreateObject ("Scripting.Dictionary")
Set oFile = oFS.OpenTextFile (strInputFile, 1)

' lecture des enregistrements présent dans le fichier CSV
Do Until oFile.AtEndOfStream

' énumération des valeurs des attributs
nIndex = 0
For Each strAttr In Split (oFile.ReadLine, ",")

' stockage de l'association attribut / valeur
oUserAttrs (arrUserAttrs (nIndex)) = strAttr
nIndex = nIndex + 1
Next

' renseignement automatique des attributs dérivés
oUserAttrs ("userPrincipalName") = _
oUserAttrs ("sAMAccountName") & "@" & strDomain

' displayName=Prénom Nom
oUserAttrs ("displayName") = _
oUserAttrs ("givenName") & " " & oUserAttrs ("sn")

' création de l'utilisateur dans l'annuaire
' (OU, CN, Attributs)
CreateADUser _
strOUContainer, _
oUserAttrs ("sAMAccountName"), _
oUserAttrs
Loop

' procédure de création d'un objet utilisateur
' les attributs sont transmis via un hash
Sub CreateADUser (strOUContainer, strCN, oUserAttrs)

Dim oContainer, oUser
Dim strAttr

' création de l'utilisateur dans l'OU spécifiée
WScript.Echo "--" & VBCrLf & "Processing CN=" & strCN
Set oContainer = GetObject ("LDAP://" & strOUContainer)
Set oUser = oContainer.Create ("user", "cn=" & strCN)

' affectation des valeurs aux attributs de l'objet
For Each strAttr In oUserAttrs.Keys

WScript.Echo strAttr & "=" & oUserAttrs (strAttr)
oUser.Put strAttr, oUserAttrs (strAttr)

Next

' commit
oUser.SetInfo

' création d'un mot de passe complexe
' et activation du compte
oUser.SetPassword ("P@$$w0rd")
oUser.AccountDisabled = False

' commit
oUser.SetInfo

End Sub

--- Coupez ici : createADUsers.vbs ---

--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD