Question Creation d'utilisateurs en masse à partir d'un CSV

Plus d'informations
il y a 15 ans 10 mois #2328 par seth7c
Bonjour à tous !

Félicitations à l'auteur du site, qui est agréable, fonctionnel, intuitif et instructif ! (rien que ca :P )
Mine de rien, ca fait toujours plaisir de voir des sites techniques dans notre langue natale.

Je débute donc le powershell.
Et le cahier des charges que je me suis imposé est le suivant :
- Créer des utilisateurs dans l'AD à partir d'un CSV
- En créer plusieurs d'affilée (en masse)
- Les mettre dans des groupes spécifiques lors de la création
- Créer éventuellement leur boite mail (optionnel)


Donc j'ai commencé mes tests avec 2 scripts..
Le premier :
[code:1]Import-csv c:\temp\CSV.csv|ForEach-Object -Process{New-QADUser -ParentContainer COMMUN.AD.ENTERPRISE.FR/Ressources_Locales/Region/Sous_Region/Utilisateurs -Name \"$_.username\"}[/code:1]

Mais cette méthode ne me donne pas de bons résultats :


avec le CSV suivant :



Le Second, trouvé ici :whistle:
J'essaie de créer le compte du propriétaire du script dans mon OU..

[code:1]$objOU=[ADSI]\"LDAP://OU=Utilisateurs,OU=sousRegion,OU=Region,OU=Ressources_Locales,DC=COMMUN,DC=AD,DC=ENTERPRISE,DC=FR\"
$objUser = $objOU.Create(\"users\", \"cn=Arnaud Petitjean\"«»)
$objUser.put(\"sAMAccountName\", \"petitjeana\"«»)
$objUser.SetInfo()[/code:1]




Si vous aviez des conseils à me donner, je suis très preneur :)

Merci par avance !
:kiss:

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

Plus d'informations
il y a 15 ans 10 mois #2332 par PASCAULT
Bonjour seth7c,

Pour le 2eme code,

$objUser = $objOU.Create(\"users\", \"cn=Arnaud Petitjean\")


C'est juste une petite erreur au niveau du nom de la class \"user\" et non \"users\"
Enremplçant donc juste par cette ligne, ça devrait aller:
[code:1]$objUser = $objOU.Create(\"user\", \"cn=Arnaud Petitjean\")[/code:1]


En restant avec ce 2eme code, car avec le premier tu utilises des extensions de powershell de Quest \"Qad...\" (Qui très bien ce disant, mais il faut l'installer en plus... donc possibilité d'incompatibilité de script...)
Voici un exemple de code en utilisant un fichier csv, je te laisse adapter à ton csv:

[code:1]
$cvsPath =\"C:\temp\CVSusers.csv\"
$ organizationalUnit = [ADSI]\"LDAP://OU= MyTestOU ,dc=Domain,dc=com\"
$userContainer = $organizationalUnit
$users =@(Import-Csv $csvPath)
foreach($user in $users)
{
$userName = $user.CN
$newuser=$userContainer.Create(\"User\",\"CN=$username\")
foreach ($property in $user.PsObject.Properties)
{
if($propery.Name -eq \"CN\")
{continue}

if(-not $propery.Value)
{continue}
$newuser.Put($property.Name,$property.Value)
}
$newuser.Setinfo()
}
[/code:1]<br><br>Message édité par: gremlinsy, à: 26/05/08 16:14

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

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