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éation compte NT basic


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Par défaut création compte NT basic
    Bonjour,

    Dans le cadre de mon projet de stage, j'ai besoin de créer entre autre plusieurs comptes NT, d'où un script pour automatisé cela.

    J'ai déjà fais une recherche de script et j'ai trouvé celui là :

    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
    98
    99
    100
     
    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=""
    dim MDP
    MDP="fd21D2s1f"
    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&".log") 'Ouvre le fichier dans lequel tu as la liste de tes utilisateurs'
    FicPassword = r & "_Password.txt" 'Tu donnes à 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 = "Invités"
    'set objContainer=GetObject("LDAP://" & strEtude)
    'set objGroup = GetObject("LDAP://" & strGroup)
    sHomePath="\c:\Utilisateurs$\"
    sProfilPath="\c:\Profils$\"
    i = 0
    fin = False
    While b.AtEndOfStream=false
      i = i + 1
      a=split(b.readline,";")
      'select case a(2)  'Si tu utilises des noms différents dans ton fichier texte par rapport à ceux qui sont dans l'Active Directory'
    	'case "Directeur"
    	'	a(2)="Glo Directeur"
    	'case "Secrétaire"
    '		a(2)="Glo Secrétaire"
    '	case "........."
    '		a(2)="Glo ..............."
    '	case "........."
    '		a(2)="Glo ..............."
    '	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 que tu peux changer ici c'est la première lettre du prénom et la première lettre du nom'
      strMDP=MDP
      strUPN="mon_domaine" 'LCase(strHomeDir)&"@.............................................................................." 'tu mets ton 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",""
      objStudent.Put "sAMAccountName",""
      objStudent.Put "userAccountControl",""
      objStudent.Put "ProfilePath",""
      objStudent.Put "scriptPath",""
      objStudent.Put "homeDrive",""
      objStudent.Put "homeDirectory",""
      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 .......: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 te permet de voir le nombre d'utilisateurs que tu as créé et te confirme que la création est terminée'
    J'ai déjà modifié le script en mettant les lignes de codes en commentaires. Mais étant passablement newbie en VBS, j'ai besoin de vos conseils

    Lorsque j'execute ce script avec le fichier à lire, il n'y a pas d'erreur mais il ne me crée pas de compte utilisateur .

    J'aurai voulu savoir si quelqu'un avait une petite idée pour me dépanner.

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Par défaut
    En fait j'ai fini par résoudre mon problème;
    Je mets le code au cas où cela pourrait aider qqn

    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
     
    Dim oContainer
    Dim oUser
    Set oContainer=GetObject("LDAP://cn="nom de la machine",cn="son emplacement sur le serveur",dc="son nom de domaine"")
    'Create user        
    Set oUser = oContainer.Create("User","CN=blob") 
    'Assign values to user attributes        
    oUser.Put "samAccountName","bobzo"        
    oUser.Put "givenName","12321"        
    oUser.Put "sn","bobzo 12321"        
    oUser.Put "userPrincipalName","essai"        
    oUser.SetInfo
    'Clean upSet 
    oUser = Nothing
    Set oContainer = Nothing
    WScript.Echo "Finished"
    WScript.Quit
    Voilish, bonne continuation

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut Création utilisateurs dans l'AD
    Bonjour,

    je souhaiterais également créer un script qui me permette de créer dans un domaine Active Directory, un lot d'utilisateurs à partir d'un fichier texte (type csv par exemple). L'idéal serait que le script récupére les infos du fichier (OU de l'utilisateur, compte, mot de passe par défaut, et autres), pour la création.

    Il semble que le premier script indiqué plus haut ressemble à cela..mais je n'y connais pas grand chose. Merci de vos précisions.

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 21
    Par défaut
    bonsoir Foxou

    Effectivement le premier script correspond à tes attentes. C'est d'ailleurs la raison pour laquelle je l'avais remarqué, puisque je suis dans le même cas que toi!!
    Mais pour des raisons de test, j'ai préféré récupérer un script plus petit et l'adapter à mon besoin, ce qui me permettait de mieux comprendre son fonctionnement.

    Pour en revenir à ton problème, il te suffit de lire ton fichier .csv en ayant au préalable définit une "norme" pour séparer tes futures variables (Nom, Prénom, Ou, mot de passe).
    genre :
    boby / george / Workgroup / gb

    ensuite tu parcours chaque ligne de ton fichier, et tu récupères chaque valeur entre les " / "; mais je ne me souviens plus de la fonction (tu la trouveras sur le forum ou dans la faq)
    Puis une fois les informations de la ligne de ton fichier récupérées, tu créé l'utilisateur.

    Voili

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création compte utilisateur limité
    Par kikoo_of_dijon dans le forum Debian
    Réponses: 1
    Dernier message: 21/09/2007, 21h09
  2. [AD] Création compte, problème mot de passe
    Par kwafaa dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 06/04/2007, 13h26
  3. [LDAP] Erreur création compte utilisateur
    Par Invité dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 09/10/2006, 17h27
  4. Création comptes utilisateurs
    Par Sheva7 dans le forum Access
    Réponses: 1
    Dernier message: 20/06/2006, 21h46
  5. [C#] Création compte utilisateur FTP
    Par slopera dans le forum Windows Forms
    Réponses: 8
    Dernier message: 29/03/2006, 10h34

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