Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1759 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] PB script de creation d'utilisateur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] PB script de creation d'utilisateur

n°1195775
blacksun2
Posté le 09-09-2005 à 10:58:15  profilanswer
 

Bonjour,  
 
Je suis actuellement en stage et l'on me demande d'ecrire un VBS de cretion de compte sous AD.  
Apres avoir chercher sur le forum j'ai fait un premier jet qui ne fonctionne pas et je n'arrive pas à voir pourquoi.  
 
Un peu d'aide serait la bienvenue, je mets le script:
 
 
' Déclarations des variables et des objets
 
Dim dse,domain,ParentOU
Dim NewUser,Utilisateur,Prenom,Nom,Site,Service,Expiration,OU
 
Set dse =GetObject("LDAP://RootDSE" )
Set domain = GetObject("LDAP://" & dse.Get("defaultNamingContext" ))
 
 
' Création d'utilisateurs dans l'OU concernée
 
Do  
   If msgbox("Voulez vous créer un nouvel utilisateur", VbInformation + VbYesNo, "Message" ) = VbYes then  
      OU = inputbox("Veuillez saisir l'OU dans laquelle vous voulez créer l'utilisateur!" )  
      Set objDomain = GetObject("LDAP://DC=win-master,DC=hsa,DC=snecma" )    
      set ParentOU = objDomain.GetObject("organizationalUnit", "OU=" & OU)
      ParentOu.SetInfo      
      Utilisateur = InputBox("Veuillez entrer le matricule de l'utilisateur:" )  
      Set NewUser = ParentOU.create("user", "CN=" & Utilisateur)  
      Nom = InputBox("Nom de l'utilisateur:" )  
      Prenom = InputBox("Prénom de l'utilisateur:" )  
      Site = InputBox("Lieu de travail de l'utilisateur:" )  
      Service = InputBox("Service de l'utilisateur:" )  
      Expiration = InputBox("Donnez la date d'expiration du compte (format aaaa/mm/jj):" )  
      samAccountName = Utilisateur
      NewUser.Put "cn", Utilisateur  
      NewUser.Put "GivenName",Prenom  
      NewUser.Put "sn", Nom  
      NewUser.Put "name", Utilisateur  
      NewUser.Put "physicalDeliveryofficeName", Site  
      NewUser.Put "department", Service  
      NewUser.Put "samAccountName", Utilisateur  
      NewUser.Put "userPrincipalName", Utilisateur &"@win-master.hsa.snecma"  
      NewUser.Put "DN","cn=" & Utilisateur &",DC=win-master,DC=hsa,DC=snecma"  
      NewUser.Put "Accountexpires", Expiration  
Ligne 37    NewUser.SetInfo  
      NewUser.setpassword "utilisateur"  
      Newuser.accountdisabled = FALSE  
      NewUser.SetInfo  
      NewUser.Put"pwdLastSet",0  
      NewUser.SetInfo  
      msgbox "L'utilisateur " & Utilisateur& " a bien été crée !", VbInformation,"Création d'utilisateur"  
   Else  
               Wscript.quit(0)  
        End if  
     
Loop Until msgbox("Voulez vous créer un nouvel utilisateur", VbInformation + VbYesNo, "Message" ) = VbNo  
Wscript.quit(0)  
 
 
Il me ressort une erreur à la ligne 37 au premier Newuser.SetInfo
erreur: l'attribut ou la valeur de service d'annuaire spécifié n'existe pas.  
Ca veux dire quoi ?  
 
Merci d'avance


Message édité par blacksun2 le 15-09-2005 à 10:38:30
mood
Publicité
Posté le 09-09-2005 à 10:58:15  profilanswer
 

n°1196280
c_moa
Posté le 09-09-2005 à 21:35:53  profilanswer
 

Pas facile à lire au premier regard.
Personnellement je n'utiliserai pas autant d'input box, sinon autant passer par l'interface graphique.
Je te conseille d'utiliser un fichier excel ( ou texte ) en source, cela permet un traitement par lot.
( consulter le script center, j'ai créé tous mes scripts de creation de groupes globaux, locaux, users, propriétés, quotas ... avec cela ) . 1005 comptes en 7 min 34 s  ce matin !.  
 
J'utilise le code suivant qui me semble plus simple
 
 
   '===========================================================================
   'création d'un utilisateur  
    set objOU   = GetObject("LDAP://ou= utilisateurs,DC=mondomaineamoi,DC=fr" )
    set objUser = objOU.Create("user", "CN=" & username)
    objUser.Put "samAccountName", username
...
...
 
 
    'It is recommended to flush the cash before dealing with the password and account attributes:
    objUser.SetInfo
 
    ' Setting a User’s Password
    ' Description
    ' Configures a new password for a user.
    objUser.SetPassword password
 
    ' Enabling a User Account
    ' Description
    ' Enables a user account.
    objUser.AccountDisabled = FALSE
    objUser.SetInfo
 
    ' Ensuring that an Account will not Expire
    ' Description : configures a user account so that it will not expire.
    '               This is done by setting the expiration date to 1/1/1970.
 
    objUser.AccountExpirationDate = "01/01/1970"
    objUser.SetInfo
 
 
'===========================================================================
' variable pour Setting a Password So It Never Expires
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
 
    ' Setting a Password So It Never Expires
    ' Description
    ' Configures the domain password for a user account to ensure that the password will never expire.
    intUAC = objUser.Get("userAccountControl" )
    objUser.Put "userAccountControl", intUAC XOR ADS_UF_DONT_EXPIRE_PASSWD
    objUser.SetInfo

 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] PB script de creation d'utilisateur

 

Sujets relatifs
[RESOLU] Supprimmer les droits sur une base ACCESSProblème script qcm en php
Changer l'affichage d'une page lorsqu'un utilisateur se loggue[RESOLU] Fonction qui retourne le numero d'un ligne ?? (excel)
erreur dans mon script sqlscript tout facile qui tourne pas
[RESOLU]probleme regroupage fichiers texteCréation d'un batch FTP
[resolu] batch : Probleme copie fichier[Résolu] Requête WHERE : ça coince
Plus de sujets relatifs à : [RESOLU] PB script de creation d'utilisateur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR