Question création multi user AD

Plus d'informations
il y a 14 ans 3 mois #10653 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:création multi user AD
Bonjour,

Vous effectuez la commande
[code:1]Import-Module ActiveDirectory[/code:1]
Sur le contrôleur de domaine 2008 R2 ?

Penchez vous sur les cmdlets New-ADUser et Import-Csv.

Pour cela vous avez à utiliser la commande Get-Help sur les différentes commandes pour avoir une aide détaillée et des exemples.

J'essaie de revenir vers vous rapidement.

Bien Cordialement,
Richard Lazaro.

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

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

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

Plus d'informations
il y a 14 ans 3 mois #10654 par Gaëtan Mandon
Réponse de Gaëtan Mandon sur le sujet Re:création multi user AD
bonjour,
en fait je fais des essais sur mon ordi perso (qui ne virtualise pas le 64bits), en windows server 2008 (tout court... 32bits) et l'import du module AD ne fonctionne pas je ne sais pas pourquoi...

aujourd'hui je fais des tests en 64bits sur 2008 R2, sur ma machine ici à l'afpa.
je n'ai pas de soucis sur le 2008 r2..
j'ai justement regardé ces cmdlets et j'ai fait des imports de csv afin de voir tout le processus.

si vous préférez ne pas avoir a venir ici, laissez moi votre adresse mail ou contactez moi sur la mienne, je vous tiendrai au courant de l'évolution de mes recherches.

il y a des choses que je ne saisi pas trop, comme la différence entre ce script là au niveau de la création d'utilisateurs.

$objOU=[ADSI]“LDAP://OU=test000,DC=valence,DC=local”
$dataSource=import-csv “users.csv”
foreach($dataRecord in $datasource) {
$cn=$dataRecord.FirstName + ” ” + $dataRecord.LastName
$sAMAccountName=$dataRecord.FirstName + “.” + $dataRecord.LastName
$givenName=$dataRecord.FirstName
$sn=$dataRecord.LastName
$sAMAccountName=$sAMAccountName.ToLower()
$displayName=$sn + “, ” + $givenName
$userPrincipalName=$sAMAccountName + “@valence.local”
$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(“P@assw0rd”)
$objUser.psbase.InvokeSet(“AccountDisabled”,$false)
$objUser.SetInfo()
}

et celui-ci:

Import-Module ActiveDirectory
$Users = Import-Csv -Delimiter \";\" -Path \".\users.csv\"
foreach ($User in $Users)
{
$ou = \"OU=\" + $User.Office + \",OU=campus,DC=CIRDI-TECH,DC=FR\"
$pass = $User.Password

New-ADUser -Name $User.ID -AccountPassword (ConvertTo-SecureString $pass -AsPlainText -force) -CannotChangePassword $true -Enabled $true -Description $User.Description -Office $User.Office -Path $ou
}

(je précise peut-être qu'à ce niveau c'est apparemment le \"ConvertTo-SecureString...\" qui pose un souci.. :s

je cherche donc les infos adéquates ..<br><br>Message édité par: corly, à: 25/11/11 10:59

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

Plus d'informations
il y a 14 ans 3 mois #10658 par BENOIT Damien
Réponse de BENOIT Damien sur le sujet Re:création multi user AD
Bonjour,

J'ai été confronté à ce problème il y a quelques mois.
J'ai commencé par adapter un script provenant du net avant de l'étoffer pour mon cas.
Voici le script \&quot;basique\&quot; que j'avais réalisé à l'époque:

[code:1]&lt;#

Utilisation: NomDuScript.ps1 -fichier xxxx.csv


Structure du CSV:

Password;Surname;GivenName;SamAccountName;Userlogon;OU;Groupe
xxxxxxx;DUPONT;Tom;dupontt;dupontt;OUtest;Grouptest

#&gt;

param (
[string]$fichier
)

# Chargement du module Active Directory
Import-Module ActiveDirectory

# Importation du fichier CSV dans la variable $ImportCSV
$ImportCSV = import-csv -path \&quot;$fichier\&quot; -delimiter \&quot;;\&quot;

# Création de l'utilisateur
Foreach($user IN $ImportCSV) {
$pass = $user.Password
$nom = $user.Surname
$prenom = $user.GivenName
$displayname = $user.Surname +\&quot; \&quot;+ $user.GivenName
$login = $user.SamAccountName
$Userlogon = $user.Userlogon
$OUName = $user.OU
$Group = $user.Groupe
$OUSearch = Get-ADOrganizationalUnit -Filter {Name -like $OUName}
$OUDN = $OUSearch.distinguishedName # OU=OUdestination,OU=...,DC=xx,DC=xx
Write-Host -ForegroundColor Green \&quot;Création de l'utilisateur en cour: $displayname ($login)\&quot;
New-ADUser -Name $displayname -Surname $nom -GivenName $prenom -DisplayName $displayname -SamAccountName $login -AccountPassword (convertto-securestring $pass -asplaintext -force) -PasswordNeverExpires $true -PasswordNotRequired $true -UserPrincipalName $Userlogon@domaine.xx -Path $OUDN -enabled $true
$UserDNsearch = Get-ADUser -Filter {SamAccountName -like $login}
$GroupDNsearch = Get-ADGroup -Filter {Name -like $Group}
$GroupDN = $GroupDNsearch.distinguishedName
$GroupDest = [ADSI]\&quot;LDAP://$GroupDN\&quot;
$GroupDestDN = \&quot;LDAP://$UserDNsearch\&quot;
$GroupAdd = $GroupDest.Add($GroupDestDN) # Ajout de l'utilisateur au nouveau groupe
}

[/code:1]

Il n'est surement pas parfait mais peut-être te sera-il utile comme il l'a été dans mon cas. :)

PS: A noter qu'il est possible de trouver les attributs d'un utilisateur dans l'AD en activant \&quot;Affichage/Fonctionnalités avancées\&quot; dans la console \&quot;Utilisateurs et ordinateurs Active Directory\&quot; puis dans les propriétés de l'utilisateur l'onglet \&quot;Editeur d'attributs\&quot;

Cordialement,<br><br>Message édité par: Damien BENOIT, à: 25/11/11 14:31

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

Plus d'informations
il y a 14 ans 3 mois #10659 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:création multi user AD
corly écrit:

peut-être devrais je faire un script création, un script déplacement dans groupe, un pour le déplacement dans les OU... je ne sais pas ce qui est le mieux..

C'est le ba-BA.
corly écrit:

quelle solution \&quot;facilement\&quot; applicable et compréhensible par un débutant comme moi me conseillez vous.?

Découpe ton script en + tâches.
corly écrit:

Sur quels cours devrais je me baser pour faire ceci?

Il s'agit déjà de spécifier/détailler ce que tu dois faire. Il n'y a pas de cours sur ce sujet, à part la gestion de l'AD.
Il me semble que tu souhaites que cela fonctionne avant de comprendre ce que tu fais et comprendre comment PS fonctionne...

Tutoriels PowerShell

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

Plus d'informations
il y a 14 ans 3 mois #10663 par Gaëtan Mandon
Réponse de Gaëtan Mandon sur le sujet Re:création multi user AD

Il s'agit déjà de spécifier/détailler ce que tu dois faire. Il n'y a pas de cours sur ce sujet, à part la gestion de l'AD.

Il me semble que tu souhaites que cela fonctionne avant de comprendre ce que tu fais et comprendre comment PS fonctionne


Je vais détailler:
je souhaite automatiser la création d'utilisateurs AD via powershell.
J'aimerai pouvoir les placer dans des OU prédéfinies, créées à l'avance.
J'aimerai les placer dans des groupes également prédéfinis à l'avance (pour les droits NTFS)
J'aimerai également leur attribuer une adresse mail exchange 2010.
Nous allons monter windows 2008 R2 sous vmWare Workstation 8.

Personne ne peut m'aider à évoluer là dedans autour de moi, nous avons tous eu la même formation et nos formateur ne connaissent pas powershell..
notre formation se termine le 09/12 et nous devons avoir rendu notre projet dans cette semaine là au plus tard.
Je l'ai dit je ne cherche pas LA solution de facilité mais croyez moi, j'ai envie de comprendre car au final, je vais devoir faire un How to et expliquer comment PowerShell fonctionne.

Plus précisément, je voudrai savoir quelles sont les commandes utiles (entre les 2 scripts que j'ai posté par exemple, il y a une \&quot;méthode courte\&quot; et une \&quot;méthode plus longue\&quot;...)
comment ajouter les données du csv dans une variable, comment la nommer et la placer par la suite, quelles données est il possible de pré-régler, ...
J'ai énormément de questions, j'avance petit à petit. Et je me suis tourné ici pas pour la facilité et ne rien comprendre, juste trouver le script qui va et au revoir! non!! je suis venu ici parce que les tutos et cours que j'ai trouvé me ramène ici, parce que j'apprends avec vos cours et autres et que vous allez pas m'aiguiller dans un mauvais sens.
Je cherche quelque chose comme ce qu'a posté Damien Benoît (merci :)) par exemple.. quelque chose de commenter. Après j'ai bien sur la commande Get-Help pour en savoir + sur les cmdlets.

comme je le disai également, j'ai perdu du tps également parceque mon PS sur mon ordi ne veut pas du module AD...

Merci encore pour vos aides et conseils..

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

Plus d'informations
il y a 14 ans 3 mois #10665 par Gaëtan Mandon
Réponse de Gaëtan Mandon sur le sujet Re:création multi user AD
Bonjour,

tout d'abord, une question pour mon tableur (pour la création du csv).
Pour le moment j'ai une colonne \&quot;nom\&quot;, une \&quot;prénom\&quot;.
pour le moment le userlogon est \&quot;nom.prénom\&quot;, mais il est vrai que comme dans l'exemple de script de Damien Benoit, j'ai plus eu l'habitude de la syntaxe \&quot;nomp\&quot;.
j'ai trouvé une formule permettant de faire \&quot;nom P.\&quot; mais pas celle permettant de ne pas mettre l'espace..
ce n'est pas gênant en soi mais cela serait + \&quot;conforme\&quot; à la réalité..

Autre question, dans le script fourni également par Damien Benoit il y a la phase import du csv :
[code:1]$ImportCSV = import-csv -path \&quot;$fichier\&quot; -delimiter \&quot;;\&quot;[/code:1]
alors, au risque de passer pour un noob, je me demandais si je devais modifier la commande d'import en spécifiant le fichier csv ou si la variable gère ça automatiquement (puisque j'avais vu la commande qui \&quot;spécifie\&quot;) comme [code:1]Import-CSV ./test_afpa.csv –Delimiter “;”[/code:1]

n'ayant pas de PS fonctionnel avec le module AD pour le moment (je ne verrai ça que cet aprem), je ne peu pas faire de test...

une autre question, dans le cas où je voudrai avoir une structure d'AD correcte (dans mon cas, la fusion des 2 sites seront sous 1 seul domaine, mais nous séparerons les sites avec une OU \&quot;site A\&quot; et une \&quot;site B\&quot; qui auront une certaine organisation par la suite) et mettre un utilisateurs (toujours lors de la création multiple si c'est possible) dans les bonnes OU.
je m'explique, si Joe Black travaille dans le service comptabilité du site B, comment indique-t-on l'arborescence afin qu'il n'y ait pas une OU comptabilité hors des OU A &amp; B crée mais bien B &gt; Compta..
merci



edit: après test sur un PS sans module AD, la commande avec la variable me retourne
[code:1]Import-Csv : Impossible de lier l'argument au paramètre « Path », car il s'agit d'une chaîne vide.
Au niveau de ligne : 1 Caractère : 30
+ $ImportCSV = import-csv -path &lt;&lt;&lt;&lt; \&quot;$fichier\&quot; -delimiter \&quot;;\&quot;
+ CategoryInfo : InvalidData: (:«») [Import-Csv], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.Impo
rtCsvCommand[/code:1]<br><br>Message édité par: corly, à: 26/11/11 11:06

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

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