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 :

Créer un utilisateur avec active directory


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Créer un utilisateur avec active directory
    Bonjour a tous,

    Je souhaite créer un script me permettant de créer un utilisateur avec ses dossiers de stockage et des droits spécifiques sur l'utilisateur.

    Voici mon code actuel :

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
    Dim fs,a,b,fso,c,OS,d,e,f,g,h,r,sMsg,oFSO,oTS,FicPassword,Commandline,Commandline1,Commandline2,Commandline3,wshShell,RepPerso,RepProfil
    dim strStudent,strNom,strPrenom,strHomeDir,strGroupes,strMDP,sHomePath,oFolder,strUAC,strProfilePath,strScriptPath,strHomeDrive
    dim strEtude,strGroup,objContainer,objGroup,objStudent,strUPN,strSAM,sGroupList,iTemp,oGroup,sProfilPath,strHomeDirectory
    r=""
    while r=""
       r=inputbox("Entrez le nom du fichier des utilisateurs à créer (sans extension) : ")
    wend
    set wshShell = CreateObject("Wscript.Shell")
    set e=wshShell
    set f=wshShell
    set g=wshShell
    set h=wshShell
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set b = fs.openTextFile(r&"T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv") 'Ouvre le fichier dans lequel il y a la liste des utilisateurs
    FicPassword = r & "C:\test\Password.txt" 'On donne à FicPassword le nom du fichier où sera stocké les mots de passe
    set oFSO=CreateObject("Scripting.FileSystemObject")
    set oTS=oFSO.CreateTextFile(FicPassword,True) 'Création d un fichier où est stocké tous les mots de passe
    strEtude = "ou=Eleve,dc=...................................."
    strGroup = "ou=Global,ou=Groupes,dc=................................................................................."
    set objContainer=GetObject("LDAP://" & strEtude)
    set objGroup = GetObject("LDAP://" & strGroup)
    sHomePath="\\tandem-mail\Utilisateurs$\"
    sProfilPath="\\tandem-mail\Profils$\"
    i = 0
    fin = False
    While b.AtEndOfStream=false
      i = i + 1
      a=split(b.readline,";")
      select case a(2)  
     
    	case "Directeur"
    		a(2)="Glo Directeur"
    	case "Participant"
    		a(2)="Glo Participant"
    	case "Permanents"
    		a(2)="Glo Permanents"
    	case "Techniciens"
    		a(2)="Glo Techniciens"
    	case "........."
    		a(2)="Glo ..............."
    	case Else
    		a(2)="ERROR"
      end select
      strStudent=a(0) & " " & a(1) 'Donne le nom complet de l utilisateur
      strNom=a(0)
      strPrenom=a(1)
      strGroupes=a(2)
      strHomeDir=left(a(1),1)&a(0) 'Création du nom du répertoire personnel
      strMDP=LCase(left(a(1),1)&left(a(0),1)&left(a(1),1)&left(a(0),1)&left(a(1),1)&left(a(0),1)) 'Création du mot de passe on peut le changer ici c est la première lettre du prénom et la première lettre du nom
      strUPN=LCase(strHomeDir)&"@tandem.local" 'nom de domaine
      strSAM=LCase(strHomeDir)
      strUAC="512" 'Permet d'activer le compte
      strProfilePath=sProfilPath&strHomeDir 'Création du nom pour le répertoire du profil de l'utilisateur
      strScriptPath="logon.cmd" 'Script de commande WindowsNT qui fabrique le lecteur réseau
      strhomedrive="z" 'Création d'un lecteur logique
      strhomeDirectory=sHomePath&strHomeDir 'Nom du répertoire pour le lecteur logique
      on error resume next
      set objStudent=objContainer.Create("User", "cn=" & strStudent) 'Création des propriétés du compte de l utilisteur dans Active Directory
      objStudent.Put "displayname",strStudent			
      objStudent.Put "givenName",strPrenom
      objStudent.Put "sn",strNom
      objStudent.Put "userPrincipalName",strUPN
      objStudent.Put "sAMAccountName",strSAM
      objStudent.Put "userAccountControl",strUAC
      objStudent.Put "ProfilePath",strProfilePath
      objStudent.Put "scriptPath",strScriptPath
      objStudent.Put "homeDrive",strhomedrive
      objStudent.Put "homeDirectory",strhomeDirectory
      objStudent.SetInfo
      set objStudent = GetObject("WinNT://" & objContainer & "/" & strStudent &",User")
      objStudent.SetPassword strMDP
      oTS.Write strStudent & ","&strMDP & vbCrLf
     
      oFolder=fs.CreateFolder(sHomePath & strHomeDir)
      oFolder=fs.CreateFolder(sProfilPath & strHomeDir)
      RepPerso=sHomePath & strHomedir
      RepProfil=sProfilpath & strHomeDir
     
      CommandLine="cacls " & RepPerso & " /T /E /P " & strSAM &":C"  'Donne le droit modifier à l utilisateur sur son répertoire perso
      e.Run CommandLine, 1, True
      Commandline1="cacls " & RepProfil & " /T /E /P " & strSAM &":C" 'Donne le droit modifier à l utilisateur sur le répertoire où est stocké son profil
      f.Run CommandLine1, 1, True
      Commandline2="cacls " & RepPerso & " /T /E /P Administrateurs:F" 'Donne le droit Contrôle total au groupe Administrateur de ton domaine
      g.Run CommandLine2, 1, True
      Commandline3="cacls " & RepPerso & " /T /E /P Glo Permanents:C" 'Donne les droits modifier à un autre groupe si celui-ci souhaite regarder ce que contient les répertoires personnels des utilisateurs
      h.Run CommandLine3, 1, True
     
      set oGroup=objGroup.Create("Group","cn="&strGroupes) 'Ajoute l'utilisateur dans son groupe
      oGroup.Add objStudent.AdsPath
      set oGroup=Nothing
     
      objStudent.setInfo
      set objStudent=Nothing
     
    Wend
    Wscript.Echo "Les mots de passe des " & i & " utilisateurs ont été écrit dans " & FicPassword 'Ceci permet de voir le nombre d utilisateurs créé et confirme que la création est terminée
    J'ai des erreurs pour l' ouverture de la liste utilisateurs aparement puisque il bloque a la ligne =» Set b = fs.openTextFile(r&"T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv") ??

    Si des personnes pouvait me donner leurs avis sur le code et m'aidé par la même occasion??

    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 341
    Points
    341
    Par défaut
    Salut,

    si je reprends ton code, je remplace ta ligne en erreur par un Msgbox avec ta variable, ca donne ceci :

    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
    Dim fs,a,b,fso,c,OS,d,e,f,g,h,r,sMsg,oFSO,oTS,FicPassword,Commandline,Commandline1,Commandline2,Commandline3,wshShell,RepPerso,RepProfil
    dim strStudent,strNom,strPrenom,strHomeDir,strGroupes,strMDP,sHomePath,oFolder,strUAC,strProfilePath,strScriptPath,strHomeDrive
    dim strEtude,strGroup,objContainer,objGroup,objStudent,strUPN,strSAM,sGroupList,iTemp,oGroup,sProfilPath,strHomeDirectory
    r=""
    while r=""
       r=inputbox("Entrez le nom du fichier des utilisateurs à créer (sans extension) : ")
    wend
    set wshShell = CreateObject("Wscript.Shell")
    set e=wshShell
    set f=wshShell
    set g=wshShell
    set h=wshShell
    Set fs = CreateObject("Scripting.FileSystemObject")
     
    'Set b = fs.openTextFile(r&"T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv") 'Ouvre le fichier dans lequel il y a la liste des utilisateurs
    MsgBox r&"T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv"
    à l'exécution, y a comme un soucis !

    A++
    Plus tu pédales moins vite, moins t'avances plus vite.

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    je n'ai aucun soucis avec ton code RadPat, si ce n'est que la lettre de lecteur cedricT ne pourra jamais exister

    L'erreur se trouve là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set b = fs.openTextFile(r & "T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv")
    Comprends tu pourquoi, matandem ?
    Si oui, il ne te reste plus qu'à corriger l'erreur.
    Si non, je te conseillerais de revoir les bases du VBScript, et de la manipulation des chaines de caractères.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par ced600 Voir le message
    je n'ai aucun soucis avec ton code RadPat, si ce n'est que la lettre de lecteur cedricT ne pourra jamais exister

    L'erreur se trouve là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set b = fs.openTextFile(r & "T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv")
    Comprends tu pourquoi, matandem ?
    Si oui, il ne te reste plus qu'à corriger l'erreur.
    Si non, je te conseillerais de revoir les bases du VBScript, et de la manipulation des chaines de caractères.
    -------------

    Merci de vos réponses,

    Il est vrai que mon niveaux de vbs est nul, malgré cela je parcourt le net depuis un moment en cherchant quelque bout de ligne qui pourré correspondre a ce que je cherche, j'adapte donc chaque bout de script a ma sauce et aparement il serait plus viable que je parcourt le guide du vbs.

    Mon rôle pour le moment est d'administrer un réseaux je souhaite intergrer un script pour simplifier un grand nombre d'opérations a mon départ d'ici 3mois tels que l'integration de nouveaux utilisateurs aux réseaux.

    Malgré tout ceci je souhaiterai obtenir de l'aide, dans la ligne qui comporte une erreur il me fallait spécifier le fichier des listes utilisateurs je les donc exporter du serveur pour les tests et indiqué le chemin dans la ligne avec une extension .csv comme voulu ... Il est vrai que je ne comprend pas mon erreur ...

    Merci d'avance

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    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
    Dim fs,a,b,fso,c,OS,d,e,f,g,h,r,sMsg,oFSO,oTS,FicPassword,Commandline,Commandline1,Commandline2,Commandline3,wshShell,RepPerso,RepProfil
    dim strStudent,strNom,strPrenom,strHomeDir,strGroupes,strMDP,sHomePath,oFolder,strUAC,strProfilePath,strScriptPath,strHomeDrive
    dim strEtude,strGroup,objContainer,objGroup,objStudent,strUPN,strSAM,sGroupList,iTemp,oGroup,sProfilPath,strHomeDirectory
    r=""
    while r=""
       r=inputbox("Entrez le nom du fichier des utilisateurs à créer (sans extension) : ")
    wend
    set wshShell = CreateObject("Wscript.Shell")
    set e=wshShell
    set f=wshShell
    set g=wshShell
    set h=wshShell
    Set fs = CreateObject("Scripting.FileSystemObject")
     
    'Set b = fs.openTextFile(r&"T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv") 'Ouvre le fichier dans lequel il y a la liste des utilisateurs
    MsgBox r&"T:\Fichiers Usagers\mathieu.bes\Public\Réseaux\Scripts\listuser.csv"
    Lance le script de RadPat et tu la comprendras.
    Si tu ne l'as comprends pas malgrés cela je te la dirais, mais je pense que tu ne sera pas capable de comprendre tout autre explication sur des erreurs potentielles dans el script.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. créer un utilisateur en active directory W2k3
    Par czezko dans le forum Delphi
    Réponses: 6
    Dernier message: 11/04/2007, 12h57
  2. [VBS] recherche OU d'un utilisateur dans Active directory
    Par Amandine62 dans le forum VBScript
    Réponses: 7
    Dernier message: 16/02/2006, 08h42
  3. [LDAP] récupération login de l'utilisateur via Active Directory
    Par kcizth dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 21/12/2005, 16h47
  4. connection avec active directory
    Par hutchuck dans le forum ASP
    Réponses: 4
    Dernier message: 15/11/2005, 16h58
  5. Réponses: 4
    Dernier message: 17/05/2004, 09h57

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