IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Script Excel vers AD


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 148
    Points : 39
    Points
    39
    Par défaut Script Excel vers AD
    Bonjour,

    Je viens de créer un script VBS qui a l'aide d'un fichier excel ca entre automatiquement dans l'active directory des utilisateurs.

    Dans mon active directory j'ai mon domaine MyServer.local puis dans ce domaine j'ai une UO qui ce nomme MesUsers.

    Donc quand j'execute mon script mes utilisateur vont bien dans MesUsers mais le problème maintenant c'est que si je créer une autre UO dans MesUsers maintenant exemple Utilisateurs et que maintenant je veux que mes utilisateurs dans mon excel aillent dans UO Utilisateur qu'il y a dans MesUsers je n'y arrive pas.

    Est-ce que quelqu'un peut me dire comment faire pour mettre ces utilisateurs ?

    merci de votre aide


    Voila mon Script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Dim oexapp, oexwk, oexws, owshshell, ocellule, i
    dim nom, prenom, loggin, mdp, liste
    'liste = ""
    set oexapp = wscript.createobject("Excel.Application")
    set owshshell = wscript.createobject("wscript.shell")
    oexapp.visible = false
    set oexwk = oexapp.workbooks.open(owshshell.currentdirectory & "\utilisateurs.xls")
    set oexws = oexwk.activesheet
    'oexapp.visible=true
     
    Dim MonDomaine
    MonDomaine="dc=MyServer, dc=local"
     
    Set objCN = GetObject("LDAP://OU=MesUsers,OU=Utilisateurs," & MonDomaine)
    Set objGroup = GetObject("LDAP://CN=Utilisa. du domaine, CN=Users," & MonDomaine)
     
    Set objGroup = GetObject("LDAP://CN=Utilisa. du domaine, CN=Users," & MonDomaine)
     
    i = 2
    Do until oexapp.cells(i,2).value = ""
    	nom = oexapp.cells(i,1).value
    	prenom = oexapp.cells(i,2).value
    	loggin = oexapp.cells(i,3).value
    	mdp = oexapp.cells(i,4).value
     
    	wscript.echo "création compte " & nom
     
    	'Set objDomain = GetObject("LDAP://dc=MyServer, dc=local")
     
     
    	Set objUser = objCN.Create("User", "cn= " & nom & "")
    	objUser.Put "sAMAccountName", loggin
    	objUser.Put "sn", nom
    	objUser.Put "givenName", prenom
    	objUser.SetInfo
     
    	Set objUser = GetObject("LDAP://cn=" & nom & ",OU=MesUsers,OU=Utilisateurs," & MonDomaine)
    	objUser.SetPassword mdp
     
     
    	objGroup.Put "sAMAccountName", "Utilisa. du domaine"
    	Set objUser = GetObject("LDAP://cn=" & nom & ", OU=MesUsers,OU=Utilisateurs," & MonDomaine)
    	objUser.AccountDisabled = FALSE
    	objUser.SetInfo
    	'liste = liste + nom & ", "
    i = i+1
    Loop
     
     
    'MsgBox "Les utilisateurs " & liste & " ont été créés et activés."
     
    oexapp.quit

  2. #2
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 189
    Points : 212
    Points
    212
    Par défaut
    je t'ai mis en forme le code.

    Je t'ai aussi rajouté la sous-OU Utilisateurs dans Utilisateurs\MesUsers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Dim oexapp, oexwk, oexws, owshshell, ocellule, i
    dim nom, prenom, loggin, mdp, liste
    'liste = ""
    set oexapp = wscript.createobject("Excel.Application")
    set owshshell = wscript.createobject("wscript.shell")
    oexapp.visible = false
    set oexwk = oexapp.workbooks.open(owshshell.currentdirectory & "\utilisateurs.xls")
    set oexws = oexwk.activesheet
    'oexapp.visible=true
    Dim MonDomaine
    MonDomaine="dc=MyServer, dc=local"
    Set objCN = GetObject("LDAP://OU=Utilisateurs,OU=MesUsers,OU=Utilisateurs," & MonDomaine)
    Set objGroup = GetObject("LDAP://CN=Utilisa. du domaine, CN=Users," & MonDomaine)
    i = 2
    Do until oexapp.cells(i,2).value = ""
    	nom = oexapp.cells(i,1).value
    	prenom = oexapp.cells(i,2).value
    	loggin = oexapp.cells(i,3).value
    	mdp = oexapp.cells(i,4).value
    	wscript.echo "création compte " & nom
    	'Set objDomain = GetObject("LDAP://dc=MyServer, dc=local")
    	Set objUser = objCN.Create("User", "cn= " & nom & "")
    	objUser.Put "sAMAccountName", loggin
    	objUser.Put "sn", nom
    	objUser.Put "givenName", prenom
    	objUser.SetInfo
    	Set objUser = GetObject("LDAP://cn=" & nom & ",OU=Utilisateurs,OU=MesUsers,OU=Utilisateurs," & MonDomaine)
    	objUser.SetPassword mdp
    	objGroup.Put "sAMAccountName", "Utilisa. du domaine"
    	Set objUser = GetObject("LDAP://cn=" & nom & ",OU=Utilisateurs,OU=MesUsers,OU=Utilisateurs," & MonDomaine)
    	objUser.AccountDisabled = FALSE
    	objUser.SetInfo
    	'liste = liste + nom & ", "
    	i = i+1
    Loop
    'MsgBox "Les utilisateurs " & liste & " ont été créés et activés."
    oexapp.quit

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 148
    Points : 39
    Points
    39
    Par défaut
    Deja merci pour ton aide spantemonium,

    Je viens de tester ton script est ca ne marche pas j'ai une erreur a la ligne 12 comme quoi l'objet ne se trouve pas sur le serveur :

    Set objCN = GetObject("LDAP://OU=Utilisateurs,OU=MesUsers,OU=Utilisateurs," & MonDomaine)

    Le but c'est que j'arrive a mettre automatiquement mais utilisateurs de excel dans mon AD avec le chemin suivant.

    Mon domaine --> MyServer.local
    UO --> MesUsers dans cette UO j'ai une autre UO ---> Utilisateur est ces dans cette UO que je veux mettre mes Clients.

    J'avais testé comme ta fait auparavant mais ca ne marche pas ta pas une autre technique car je ne sais plus quoi testé moi !!!

  4. #4
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 189
    Points : 212
    Points
    212
    Par défaut
    En fait tu as écrit au début :

    Donc quand j'execute mon script mes utilisateur vont bien dans MesUsers mais le problème maintenant c'est que si je créer une autre UO dans MesUsers maintenant exemple Utilisateurs et que maintenant je veux que mes utilisateurs dans mon excel aillent dans UO Utilisateur qu'il y a dans MesUsers je n'y arrive pas.
    Dans le doute j'ai mis Utilisateurs avec un 'S'.

    Si c'est sans 'S' retire le S dans le code :

    exemple
    pas bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OU=Utilisateurs,OU=MesUsers,OU=Utilisateurs," & MonDomaine
    bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OU=Utilisateur,OU=MesUsers,OU=Utilisateurs," & MonDomaine

    Il y a plusieurs endroits où il faut le corriger, sinon tu renomme juste ton OU...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 148
    Points : 39
    Points
    39
    Par défaut
    C'est bon j'ai trouvé !!!!

    OU=Utilisateurs,OU=MesUsers,OU=Utilisateurs," & MonDomaine

    Il faut retirer le dernier OU=Utilisateurs et laisser que celui devant est ca marche.

    Merci pour ton aide

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 148
    Points : 39
    Points
    39
    Par défaut
    J'ai encore deux petits problèmes avec mon script, je vous explique !!!

    Le truc c'est que a l'aide de mon fichier excel je rentre dans mon AD le Nom, Prenom, mot de passe, loggin de l'utilisateur mais j'aimerai également rentrer dans mon AD l'adresse mail de l'utilisateur donc pour cela j'ai créé une table dans excel mail Utilisateurs et donc j'aimerai que cette colonne face comme les autres rentre automatiquement dans l'AD mais le problème c'est que je ne connais pas la commande pour le mail. Est ce que quelqu'un peut m'aider ?

    Ensuite j'aimerais cocher une case dans les proprièté des comptes, j'aimerai que grâce a ce script que tout les utilisateurs on la case "Le mot de passe n'expire jamais" soit coché savez-vous comment faire ?

    Merci pour votre aide

    Je vous remontre mon script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Dim oexapp, oexwk, oexws, owshshell, ocellule, i
    dim nom, prenom, loggin, mdp, liste, nomaff
    'liste = ""
    set oexapp = wscript.createobject("Excel.Application")
    set owshshell = wscript.createobject("wscript.shell")
    oexapp.visible = false
    set oexwk = oexapp.workbooks.open(owshshell.currentdirectory & "\utilisateurs.xls")
    set oexws = oexwk.activesheet
    'oexapp.visible=true
    Dim MonDomaine
    MonDomaine="dc=MyServer, dc=local"
    'ex: MonDomaine="dc=Fondation-Auteuil, dc=com"
    Set objCN = GetObject("LDAP://OU=Utilisateurs,OU=Client,OU=MesUsers," & MonDomaine)
    'A modifier pour le site selon l'OU
    'Exemple: Set objCN = GetObject("LDAP://OU=Utilisateurs,OU=Blanquefort St Joseph (BLA),OU=Fondation," & MonDomaine)
    Set objGroup = GetObject("LDAP://CN=Utilisa. du domaine, CN=Users," & MonDomaine)
    i = 2
    Do until oexapp.cells(i,2).value = ""
    	nom = oexapp.cells(i,1).value
    	prenom = oexapp.cells(i,2).value
    	loggin = oexapp.cells(i,3).value
    	mdp = oexapp.cells(i,4).value
    	nomaff = oexapp.cells(i,5).value
    	wscript.echo "création compte " & nom
    	'Set objDomain = GetObject("LDAP://dc=MyServer, dc=local")
    	Set objUser = objCN.Create("User", "cn= " & nomaff & "")
    	objUser.Put "sAMAccountName", loggin
    	objUser.Put "sn", nom
    	objUser.Put "givenName", prenom
    	objUser.SetInfo
    	Set objUser = GetObject("LDAP://cn=" & nomaff & ",OU=Utilisateurs,OU=Client,OU=MesUsers," & MonDomaine)
    	objUser.SetPassword mdp
    	objGroup.Put "sAMAccountName", "Utilisa. du domaine"
    	Set objUser = GetObject("LDAP://cn=" & nomaff & ",OU=Utilisateurs,OU=Client,OU=MesUsers," & MonDomaine)
    	objUser.AccountDisabled = FALSE
    	objUser.SetInfo
    	'liste = liste + nom & ", "
    	i = i+1
    Loop
    'MsgBox "Les utilisateurs " & liste & " ont été créés et activés."
    oexapp.quit

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 148
    Points : 39
    Points
    39
    Par défaut
    Voila c'est bon j'ai reussi a le faire maintenant je galere pour l'incorporer a mon script de depart j'ai des erreur de definition de nom quelqu'un peut me dire comment placer ce petit script dans le gros.

    Voila le petit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
     
    Set oU = GetObject _
    ("LDAP://OU=Utilisateurs,OU=Client,OU=MesUsers,dc=MyServer,dc=local")
    oU.Filter=Array("user")
    For each objUser in oU
    intUAC = objUser.Get("userAccountControl")
     
    If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then
    Wscript.Echo "Already enabled"
    Else
    objUser.Put "userAccountControl", intUAC XOR _
    ADS_UF_DONT_EXPIRE_PASSWD
    objUser.SetInfo
    WScript.Echo "Password never expires is now enabled"
    End If
    Next

Discussions similaires

  1. script conversion Excel vers fichier KML ou KMZ
    Par aminepop dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 26/07/2010, 12h19
  2. export resultat script vbs vers excel
    Par ghostvb dans le forum VBScript
    Réponses: 2
    Dernier message: 27/06/2008, 11h53
  3. Importer des donées de script vb vers excel
    Par ghostvb dans le forum VBScript
    Réponses: 2
    Dernier message: 27/06/2008, 11h49
  4. excel vers BD??
    Par goldn77 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 14/06/2004, 11h24
  5. Récupérer des données Excel vers Interbase ...
    Par Djedjeridoo dans le forum InterBase
    Réponses: 2
    Dernier message: 20/07/2003, 18h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo