Question URGENT : creation complete d'utilisateur

Plus d'informations
il y a 17 ans 7 mois #2647 par vincent
Bonjour,
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.

Plus d'informations
il y a 17 ans 7 mois #2649 par Robin Lemesle
Bonjour vinsmimie :)

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 \&quot;tata\&quot; au lieu de \&quot;utilisateurs\&quot;

- 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.

Plus d'informations
il y a 17 ans 7 mois #2656 par vincent
Réponse de vincent sur le sujet Re:creation complete d'utilisateur
Merci de votre aide.

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 : \&quot; 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 &lt;&lt;&lt;&lt; ] = $objuser.useraccountcontrol[0] -band (-bnot 2)\&quot;
voici mon code :
$objOU = [ADSI]\&quot;LDAP://localhost/OU=utilisateurs,dc=mon-domaine,dc=priv\&quot;
$objUser = $objOU.Create(\&quot;user\&quot;, \&quot;cn=Jean Dupont\&quot;)
$objUser.put(\&quot;SAMAccountName\&quot;, \&quot;1234\&quot;)
$objuser.put(\&quot;givenName\&quot;, \&quot;Jean\&quot;)
$objuser.put(\&quot;sn\&quot;, \&quot;Dupont\&quot;)
$objUser.put(\&quot;userprincipalName\&quot;, \&quot;1234\&quot;)
$objuser.put(\&quot;description\&quot;, \&quot;6\&quot;)
$objuser.put(\&quot;profilePath\&quot;, \&quot;\\srv-ad\profil\1234\&quot;)
if($v.classe -eq \&quot;\&quot;)
{
$objUser.put(\&quot;scriptPath\&quot;, \&quot;script-default.bat\&quot;)
}
else
{
$cl=$v.classe
$objuser.put(\&quot;scriptpath\&quot;, \&quot;script-6A.bat\&quot;)
}
$objuser.useraccountcontrol[0] = $objuser.useraccountcontrol[0] -band (-bnot 2)
$objuser.SetInfo()
$objuser.setpassword('')
write-host \&quot;Tout s'est bien deroule !\&quot;

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]\&quot;LDAP://localhost:389/OU=Utilisateurs,dc=mon-domaine,dc=priv\&quot;
foreach($v in $var)
{
$nomcomplet = $v.prenom + \&quot; \&quot; + $v.nom
$objUser = $objOU.Create(\&quot;user\&quot;, \&quot;cn=$nomcomplet\&quot;)
$objUser.put(\&quot;SAMAccountName\&quot;, \&quot;$v.code\&quot;)
$objuser.put(\&quot;givenName\&quot;, \&quot;$v.prenom\&quot;)
$objuser.put(\&quot;sn\&quot;, \&quot;$v.nom\&quot;)
$objUser.put(\&quot;userprincipalName\&quot;, \&quot;$v.code\&quot;)
$objuser.put(\&quot;description\&quot;, \&quot;$v.niveau\&quot;)
$objuser.put(\&quot;profilePath\&quot;, \&quot;\\srv-ad\profils\$v.code\&quot;)
if($v.classe -eq \&quot;\&quot;)
{
$objUser.put(\&quot;scriptPath\&quot;, \&quot;script-default.bat\&quot;)
}
else
{
$cl=$v.classe
$objuser.put(\&quot;scriptpath\&quot;, \&quot;script-$cl.bat\&quot;)
}
$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.

Plus d'informations
il y a 17 ans 7 mois #2661 par Robin Lemesle

- tout d'abord je n'arrive pas à activer mon compte avec la commande donnée.

Voici le message d'erreur : \&quot; 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 &lt;&lt;&lt;&lt; ] = $objuser.useraccountcontrol[0] -band (-bnot 2)\&quot;



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.

Plus d'informations
il y a 17 ans 7 mois #2679 par vincent
Réponse de vincent sur le sujet Re:creation complete d'utilisateur
Bonjour,
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 \&quot;$objuser.SetInfo()\&quot;
il me donne en retour un message d'erreur.
voici mon code:
[code:1]
$var=@(Import-Csv e:\PowerShell\Listeprof.csv)
$objOU = [ADSI]\&quot;LDAP://localhost/OU=Utilisateurs,dc=mondomain,dc=priv\&quot;
foreach($v in $var)
{
$nomcomplet = $v.prenom + \&quot; \&quot; + $v.nom
$objUser = $objOU.Create(\&quot;user\&quot;, \&quot;cn=$nomcomplet\&quot;«»)
$objUser.put(\&quot;SAMAccountName\&quot;, \&quot;$v.login\&quot;«»)
$objuser.put(\&quot;givenName\&quot;, \&quot;$v.prenom\&quot;«»)
$objuser.put(\&quot;sn\&quot;, \&quot;$v.nom\&quot;«»)
$objUser.put(\&quot;userprincipalName\&quot;, \&quot;$v.login\&quot;«»)
$objuser.put(\&quot;description\&quot;, \&quot;$v.badge\&quot;«»)
$objuser.put(\&quot;profilePath\&quot;, \&quot;\\srv-ad\profils\$v.login\&quot;«»)
$objUser.put(\&quot;scriptpath\&quot;, \&quot;script-prof.bat\&quot;«»)
$objuser.SetInfo()
#$objUser.psbase.InvokeSet('AccountDisabled',$false)
#$objUser.SetInfo()
#$objuser.setpassword('')
#$objUser.SetInfo()
write-host \&quot;utilisateur $v.login cree avec succes!\&quot;
}
[/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.

Plus d'informations
il y a 17 ans 7 mois #2680 par Arnaud Petitjean
Bonjour Vincent,

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.

Temps de génération de la page : 0.102 secondes
Propulsé par Kunena