Question URGENT : creation complete d'utilisateur

Plus d'informations
il y a 17 ans 7 mois #2681 par vincent
Réponse de vincent sur le sujet Re:creation complete d'utilisateur
Merci arnaud de votre aide.
Voici le message d'erreur qui apparait:

Exception lors de l'appel de \"setinfo\" avec \"0\" argument(s) : \"un périphérique attaché au systeme ne fonctionne pas correctement. (exception de HRESULT : 0x8007001F)\"

Comme vous avez pu le voir il s'agit de la création de tous les professeurs d'un lycée.
Je dois créer tous les comptes pour demain soir.
Merci d'avance de votre aide qui m'est plus que précieuse.
Tres cordialement,
vincent

PS : y a-t-il un moyen de rentrer en communication plus rapidement qu'en utilisant le forum? par exemple : message privé ou meme courriel?? Merci d'avance<br><br>Message édité par: vinsmimie, à: 19/08/08 21:25

Connexion ou Créer un compte pour participer à la conversation.

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

Je vais faire mon possible pour t'aider à faire marcher ton script dans la journée mais pour cela il faut que tu me donnes un maximum d'informations, dont :

- Ton fichier CSV (afin d'en vérifier sa structure).
- Ton fichier CSV a-t-il la virgule (pas le point virgule !) comme séparateur de champs ?
- As tu réussi à créer au moins 1 utilisateur avec ton script avant de passer à un fichier CSV ?
- Tu n'as pas besoin de spécifier Localhost dans ta requete de connexion à AD. Je pense pas que ton pb vienne de là mais on ne sait jamais.

C'est dommage que tu n'ai pas notre livre car dedans il y a une étude de cas complète consacrée à la création par lot d'utilisateurs. Exactement ce que tu veux faire... ;-)

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.

Plus d'informations
il y a 17 ans 7 mois #2688 par vincent
Réponse de vincent sur le sujet Re:creation complete d'utilisateur
Bonjour Arnaud,

Merci de te pencher sur mon problème.
Je vais répondre à tes questions.

Voici un extrait de mon fichier CSV:

nom,prenom,login,badge
dupont,jean,jedupont,99990114
durand,guillaume,gudurand,99990115
roule,pierre,piroule,99990004


J'utilise bien des virgules comme séparateur.

J'ai commencer par me créer un script dans lequel j'ajoute un utilisateur sans fichier csv, et cela fonctionne. Voici ce script :
[code:1]
$objOU = [ADSI]\&quot;LDAP://localhost/OU=utilisateurs,dc=MONDOMAINE,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;«»)
$objUser.put(\&quot;scriptPath\&quot;, \&quot;script-default.bat\&quot;«»)
$objuser.SetInfo()
$objUser.psbase.InvokeSet('AccountDisabled',$false)
$objUser.SetInfo()
$objuser.setpassword('')
$objUser.SetInfo()
write-host \&quot;Tout s'est bien deroule !\&quot;
[/code:1]

Merci d'avance de ton aide.
très cordialement,
vincent

Je viens de me rendre compte d'une chose bizarre.
A la fin de mon script utilisant le fichier CSV, je fais un affichage écran (write-host) de mon login. Or celui-ci m'affiche cela :

utilisateur @{nom=dupont; prenom=jean; login=jedupont; badge=99990114}. login cree avec succes!

Alors que je devrais avoir ceci :

utilisateur jedupont cree avec succes!

en fait dans mon code j'ai mis [code:1]write-host \&quot;utilisateur $v.login cree avec succes!\&quot;[/code:1]. Je pense que l'erreur est sur mon pointeur $v. Lorsque je regarde l'affichage ecran qu'il me donne, je me rends compte que la variable $v contient tous les champs de la ligne de mon CSV.<br><br>Message édité par: vinsmimie, à: 20/08/08 10:13

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2691 par vincent
Réponse de vincent sur le sujet Re:creation complete d'utilisateur
Arnaud,

A la fin de mon message précédent, je relevais un affichage bizarre et je croyais que mon pointeur ne fonctionnait pas.
J'ai refait des tests et j'ai mis hors de cause ce pointeur.
Le code d'affichage écran modifié est donc [code:1]write-host \&quot;utilisateur \&quot; $v.login \&quot; cree avec succes!\&quot;[/code:1]

Mais j'ai toujours l'erreur de création sur ma fonction SetInfo()
Merci d'avance

Vincent

PS : J'ai oublié de préciser une chose qui a peut etre son importance, je travaille en bureau à distance sur un serveur Windows 2008 Entreprise.<br><br>Message édité par: vinsmimie, à: 20/08/08 11:04

Connexion ou Créer un compte pour participer à la conversation.

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

Je viens de faire des tests avec Robin et il se trouve que ton code de création d'un utilisateur est bon. Simplement c'est l'importation de ton fichier CSV qui n'est pas bonne.

Tu as écrit :
[code:1]$var=@(Import-Csv e:\PowerShell\Listeprof.csv)[/code:1]

et tu aurais du écrire ceci:
[code:1]$var=Import-Csv e:\PowerShell\Listeprof.csv[/code:1]

C'est à mon avis pour cela que tes variables sont vides et que SetInfo génère une erreur.

Sinon pour le Write-Host, le plus joli est d'écrire ceci :
[code:1]write-host \&quot;Utilisateur $($v.login) créé avec succès !\&quot;[/code:1]

Normalement, pas de pb pour le travail en bureau à distance.

Arnaud<br><br>Message édité par: Arnaud, à: 20/08/08 14:21

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.

Plus d'informations
il y a 17 ans 7 mois #2697 par vincent
Réponse de vincent sur le sujet Re:creation complete d'utilisateur
Merci Arnaud et Robin pour votre aide
Mais le problème demeure.
J'ai remplacé la déclaration de $var.
J'ai fait un [code:1]write-host $v.nom[/code:1] dans ma boucle pour vérifier si mes variables étaient vides. Elles ne le sont pas.
J'ai toujours cette erreur sur le SetInfo().
En fait, j'ai recopié les instructions de mon script manuel pour les inclure dans ma boucle de parcours de mon csv.
Je ne comprends vraiment pas pourquoi ca ne fonctionne pas. :(

autre particularité, si j'inclue la variable $v.login à l'interieur des guillemets pour mon write-host, il me met comme tout à l'heure. Je suis donc obligé de mettre [code:1]write-host \&quot;utilisateur \&quot; $v.login \&quot; cree avec succes!\&quot;[/code:1]
Bizarre tout de même :blink:
Merci de votre aide.

Message édité par: vinsmimie, à: 20/08/08 13:02

Autre chose qui me passe par la tête, est ce que mon problème peut être dû à une défaillance système. Je viens de voir dans mon gestionnaire de périphérique que j'ai un \&quot;périphérique sytème de base\&quot; dont les pilotes ne sont pas installés. D'ailleurs je ne sais même pas ce qu'est ce périphérique. Comme j'arrive à créer un utilisateur avec un script manuel, il n'y a pas de raison que ca ne marche pas avec un CSV...

Message édité par: vinsmimie, à: 20/08/08 13:12

Encore autre chose, avez essayé de lancer mon script avec le csv ? Fonctionne-t-il ?<br><br>Message édité par: vinsmimie, à: 20/08/08 13:13

Connexion ou Créer un compte pour participer à la conversation.

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