PB script de creation d'utilisateur [RESOLU] - VB/VBA/VBS - Programmation
Marsh Posté le 09-09-2005 à 21:35:53
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 Users 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
Marsh Posté le 09-09-2005 à 10:58:15
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