Question Automatisation création de compte Active directory

Plus d'informations
il y a 16 ans 10 mois #4591 par Denoix
Bonjour,

Je suis novice en PowerShell et j'ai besoin de vos lumières. En effet, j'ai recopié un script sur Internet que j'ai essayé de comprendre car je souhaite mettre en place une solution d'automatisation des utilisateurs sous Active Directory sous Server 2008.
J'utilise actuellement le serveur en émulation sous VMWARE, voici le script : (J'ai crée un fichier Excel à côté).
Mon nom de domaine est : benjamin.lan

[code:1]$objou=[ADSI]\"LDAP://OU=Consultants,DC=benjamin,DC=lan\"
$dataSource=import-csv \"NewUsers2009.csv\"
foreach($dataRecord in $datasource) {
# associer les variables à la source de données
$cn=$dataRecord.cn
$sAMAccountName=$dataRecord.sAMAccountName
$givenName=$dataRecord.FirstName
$sn=$dataRecord.LastName
$displayName=$sn + \",\" + $givenName
$userPrincipalName=$givenName + \".\" + $sn + \"@benjamin.lan\"

# créer l'objet utilisateur
$objUser=$objou.Create(\"user\",\"CN=\"+$cn)
$objuser.Put(\"sAMAccountName\",$sAMAccountName)
$objuser.Put(\"userPrincipalName\",$userPrincipalName)
$objuser.Put(\"displayName\",$displayName)
$objuser.Put(\"givenName\",$givenName)
$objuser.Put(\"sn\",$sn)
$objuser.SetInfo()
$objuser.SetPassword(\"COmp!exP@sswOrd\"«»)
$objuser.psbase.InvokeSet(\"AccountDisabled\",$false)
$objuser.SetInfo()
}[/code:1]

Je lance ensuite PowerShell je tape Set-Executionpolicy RemoteSigned puis je lance mon fichier en tapant .\Userimport.ps1 (c'est le nom de mon fichier) et quand il s'éxécute j'ai les messages d'erreurs suivants pour chaque ligne :

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur nulle.


En pièce jointe ma feuille excel.

Que faire ?<br><br>Message édité par: Arnaud, à: 25/05/09 23:17

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

Plus d'informations
il y a 16 ans 10 mois #4694 par Laurent Dardenne
Salut,
object6848 écrit:

Que Faire ?

Procéder par étapes.
L'import du fichier CSV est-il correcte ? PowerShell v1 utilise la virgule comme séparateur de champs.
Tu peux aussi utiliser Write-Debug pour tracer.

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 9 mois #4710 par Arnaud Petitjean
Bonjour,

Comme le souligne très justement Laurent, il faut procéder étape par étape. C'est à dire valider chaque morceaux de son script avant de vouloir tout mettre ensemble et se prendre la tête pendant des heures à déboguer.

Dans ton cas, as tu déjà réussi à créer 1 utilisateur avec ton script ? Si tu as des problèmes, nous en avons un qui fonctionne dans la Bibliothèque de scripts / Rubrique Active Directory.

Deuxièmement, essaie de te familiariser avec la commandes Import-CSV sur des exemples simples. Et quand t'as compris, tu fusionnes tes scripts et voilà !

Sinon, si tu fais partie des heureux possesseurs de notre livre , tu trouveras page 470 - Créer des comptes utilisateurs par lot une partie complète qui traite cette problématique en détail.

@+

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 14 ans 9 mois #9826 par dirsang
Bonjour, moi j'ai le même script, j'ai débug certains trucs, mais arrivé au moment de créé mon utilisateur ça plante ^^':

&amp;objUser=&amp;objOU.Create(\&quot;user\&quot;, \&quot;CN=\&quot;+&amp;cn)


j'ai donc un soucis dans cette ligne j'ai regardé dans la bibliothèque de scripts, et la ligne pour votre utilisateur correspond à ça sauf que moi j'ai une variable &amp;cn au lieu de mettre mon nom et prénom directement

svp si vous pouviez m'aider.<br><br>Message édité par: dirsang, à: 20/06/11 20:34

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

Plus d'informations
il y a 14 ans 8 mois #9839 par Richard Lazaro
Bonjour,

Je suppose que c'est une coquille et que vous vouliez dire $cn au lieu de &amp;cn ?

Sinon, est ce que vous récupérez les bonnes données de votre CSV ?

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

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

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