Question
URGENT : creation complete d'utilisateur
- vincent
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 23
- Remerciements reçus 0
je débute et je souhaiterais créer des comptes utilisateurs à partir d'un fichier CSV.
Pour le moment je cherche à créer un seul utilisateur dans un fichier ps1 tout simple. Mais je cherche des propriétés que je ne trouve pas.
- mettre le mot de passe à vide et cocher la case pour que l'utilisateur le change à la prochaine connexion.
- mettre le nom d'ouverture de session.
- mon compte n'est pas activé à la fin.
- je voudrais aussi que mon compte se trouve dans l'OU \"tata\" au lieu de \"utilisateurs\"
- je souhaiterais également ajouter mon utilisateurs à un groupe.
Voici mon code :
[code:1]
$objOU = [ADSI]\"LDAP://localhost:389/OU=Utilisateurs,dc=mondomaine,dc=priv\"
$objUser = $objOU.Create(\"user\", \"cn=Jean Dupont\"«»)
$objUser.put(\"SAMAccountName\", \"12345\"«»)
$objuser.put(\"givenName\", \"Jean\"«»)
$objuser.put(\"sn\", \"Dupont\"«»)
$objuser.put(\"description\", \"6\"«»)
$objuser.put(\"profilePath\", \"\\srv-ad\profils\12345\"«»)
$objuser.SetInfo()
$groupe = ([ADSI]\"LDAP://localhost:389/cn=tata,ou=_Groupes,dc=mondomaine,dc=priv\"«»)
$groupe.member += \"CN=12345,cn=utilisateurs,dc=mondomaine,dc=priv\"
$groupe.setinfo()
[/code:1]
Merci d'avance de toute aide qui sera forte précieuse.
Cordialement,
Vincent<br><br>Message édité par: Arnaud, à: 18/08/08 22:35
Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
- Messages : 260
- Remerciements reçus 0
je débute en ps et je souhaiterais créer des comptes utilisateurs à partir d'un csv.
Pour le moment je cherche à créer un seul utilisateur dans un fichier ps1 tout simple. Mais je cherche des propriétés que je ne trouve pas.
- mettre le mot de passe à vide et cocher la case pour que l'utilisateur le change à la prochaine connexion.
- mettre le nom d'ouverture de session.
- mon compte n'est pas activé à la fin.
- je voudrais aussi que mon compte se trouve dans l'OU \"tata\" au lieu de \"utilisateurs\"
- je souhaiterais également ajouter mon utilisateurs à un groupe.
Il faut que tu procèdes par étape :
-Il faut que tu crées ton utilisateur comme tu viens de le faire
-Il faut ensuite que tu crées l'OU et le groupe si besoin
-Ajoutes ton user à ce groupe et ou (tu peux aller voir dans notre Bibliothèques de scripts pour savoir comment faire : powershell-scripting.com/index.php?optio...;id=18&Itemid=71 )
En ce qui concerne l'activation du compte, voici la ligne de commande :
[code:1]#Permet d’activer le compte
blablabla
$objUser.userAccountControl[0] = $objUser.userAccountControl[0] -band (-bnot 2)
$objUser.SetInfo()
[/code:1]
Voila, j'éspère que cela te sera utile
Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- vincent
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 23
- Remerciements reçus 0
Alors j'ai deux problèmes
- tout d'abord je n'arrive pas à activer mon compte avec la commande donnée.
Voici le message d'erreur : \" Impossible d'indexer dans un objet de type System.DirectoryServices.PropertyValueCollection.
Au niveau de E:\Powershell\creation user manuelle.ps1 : 18 Caractère : 30
+ $objuser.useraccountcontrol[0 <<<< ] = $objuser.useraccountcontrol[0] -band (-bnot 2)\"
voici mon code :
$objOU = [ADSI]\"LDAP://localhost/OU=utilisateurs,dc=mon-domaine,dc=priv\"
$objUser = $objOU.Create(\"user\", \"cn=Jean Dupont\")
$objUser.put(\"SAMAccountName\", \"1234\")
$objuser.put(\"givenName\", \"Jean\")
$objuser.put(\"sn\", \"Dupont\")
$objUser.put(\"userprincipalName\", \"1234\")
$objuser.put(\"description\", \"6\")
$objuser.put(\"profilePath\", \"\\srv-ad\profil\1234\")
if($v.classe -eq \"\")
{
$objUser.put(\"scriptPath\", \"script-default.bat\")
}
else
{
$cl=$v.classe
$objuser.put(\"scriptpath\", \"script-6A.bat\")
}
$objuser.useraccountcontrol[0] = $objuser.useraccountcontrol[0] -band (-bnot 2)
$objuser.SetInfo()
$objuser.setpassword('')
write-host \"Tout s'est bien deroule !\"
autre question, j'ai fait un script pour créer des utilisateurs à partir d'un csv mais ca ne marche pas. Il m'ouvre excel et après plus rien...
Voici mon code :
$var=@(Import-Csv e:\PowerShell\test2.csv)
$objOU = [ADSI]\"LDAP://localhost:389/OU=Utilisateurs,dc=mon-domaine,dc=priv\"
foreach($v in $var)
{
$nomcomplet = $v.prenom + \" \" + $v.nom
$objUser = $objOU.Create(\"user\", \"cn=$nomcomplet\")
$objUser.put(\"SAMAccountName\", \"$v.code\")
$objuser.put(\"givenName\", \"$v.prenom\")
$objuser.put(\"sn\", \"$v.nom\")
$objUser.put(\"userprincipalName\", \"$v.code\")
$objuser.put(\"description\", \"$v.niveau\")
$objuser.put(\"profilePath\", \"\\srv-ad\profils\$v.code\")
if($v.classe -eq \"\")
{
$objUser.put(\"scriptPath\", \"script-default.bat\")
}
else
{
$cl=$v.classe
$objuser.put(\"scriptpath\", \"script-$cl.bat\")
}
$objuser.useraccountcontrol[0] = $objuser.useraccountcontrol[0] -band (-bnot 2)
$objuser.SetInfo()
$objuser.setpassword('')
}
Merci d'avance de votre aide, j'ai 1200 compte à créer avant la fin de la semaine.
Merci encore et bonne journée
Cordialement,
vincent
Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
- Messages : 260
- Remerciements reçus 0
- tout d'abord je n'arrive pas à activer mon compte avec la commande donnée.
Voici le message d'erreur : \" Impossible d'indexer dans un objet de type System.DirectoryServices.PropertyValueCollection.
Au niveau de E:Powershellcreation user manuelle.ps1 : 18 Caractère : 30
+ $objuser.useraccountcontrol[0 <<<< ] = $objuser.useraccountcontrol[0] -band (-bnot 2)\"
L'idée est d'attibuer une valeur à la propriété useraccountcontrol, voici une petite doc microsoft sur le sujet
support.microsoft.com/kb/305144
Si tu es en possession de notre livre, tout ceci y est expliqué
Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- vincent
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 23
- Remerciements reçus 0
je suis toujours dans le développement de mon script de creation d'utilisateur à partir d'un fichier csv.
je suis confronté a un nouveau problème lors de ma fonction \"$objuser.SetInfo()\"
il me donne en retour un message d'erreur.
voici mon code:
[code:1]
$var=@(Import-Csv e:\PowerShell\Listeprof.csv)
$objOU = [ADSI]\"LDAP://localhost/OU=Utilisateurs,dc=mondomain,dc=priv\"
foreach($v in $var)
{
$nomcomplet = $v.prenom + \" \" + $v.nom
$objUser = $objOU.Create(\"user\", \"cn=$nomcomplet\"«»)
$objUser.put(\"SAMAccountName\", \"$v.login\"«»)
$objuser.put(\"givenName\", \"$v.prenom\"«»)
$objuser.put(\"sn\", \"$v.nom\"«»)
$objUser.put(\"userprincipalName\", \"$v.login\"«»)
$objuser.put(\"description\", \"$v.badge\"«»)
$objuser.put(\"profilePath\", \"\\srv-ad\profils\$v.login\"«»)
$objUser.put(\"scriptpath\", \"script-prof.bat\"«»)
$objuser.SetInfo()
#$objUser.psbase.InvokeSet('AccountDisabled',$false)
#$objUser.SetInfo()
#$objuser.setpassword('')
#$objUser.SetInfo()
write-host \"utilisateur $v.login cree avec succes!\"
}
[/code:1]
J'ai mis l'activation du compte et l'initialisation du mote de passe en commentaire car mon script n'est pas encore au point.
Pouvez vous m'expliquer pourquoi ma fonction Setinfo() ne fonctionne pas.
Merci d'avance
vincent
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
Peux tu nous donner le message d'erreur exact ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- URGENT : creation complete d'utilisateur