Question
[Résolu] Importer les users, OU et groupes vers AD
- Toto JDD
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 9
- Remerciements reçus 0
Je suis un débutant en powershel et je voulais savoir comment on importe un les users, les OU et groupes à partir d'un fichier .csv
Voici la structure du fichier users.csv se trouvant sur l'emplacement E:\Data\users.csv
Nom;Prenom;OU;Groupe
Jean;Barth;Bruxelles;Comptabilité
Germaine;Furah;Liège;Direction
Marie;Reine;Bruxelles;Logistique
Nathan;Yves;Bruxelles;Comptabilité
Jacques;Juan;liège;Logistique
Fidel;Jan;Bruxelles;Direction
Janvier;Mathieu;Namur;Comptabilité
Edmon;Emile;Liège;Comptabilité
Raoul,Steve;Namur;Direction
Ibrahim;Loic;Namur;comptabilité
Alexadre;Barth;Liège;Logistique
Joel;Julie;Namur;Logistique
Ma préoccupation est d'avoir un script qui me permet de :
1. Créer les OU Bruxelles, Namur et Liège dans \"OU=Region,DC=domaine,DC=Com\"
2. Affecter les users dans les OU et groupes auxquels ils appartiennent
Ex : les users Jean, Nathan, Marie et Fidel dans l'OU Bruxelles; Jean et Nathan dans le groupe Comptabilité de Bruxelles, Marie dans le groupe Logistique de Bruxelles et Fidel dans le groupe Direction de Bruxelles. Idem pour les autres OU
Merci de vos orientations et entraides.
TOTO JDD<br><br>Message édité par: Arnaud, à: 30/08/16 14:50
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
bonjour et bienvenueBonjour,
Je suis un débutant en powershel et je voulais savoir comment on importe un les users, les OU et groupes à partir d'un fichier .csv
Merci de vos orientations et entraides.
TOTO JDD
tu nous a pas indiqué si tu te débrouillé en programmation/script !?
il nous faut aussi la version de PowerShell et de ton serveur AD
pour info si tu utilise un serveur ad en 2008R2 tu peut utilisé les commandes suivante :
New-AdUser pour la creation d'un utilisateur, tu trouvera des exemples d'utilisation à la fin de la page
Add-ADGroupMember pour l'ajout d'un utilisateur dans un groupe, tu trouvera aussi des exemples
les exemples pour ce que tu demande ne manque pas sur ce forum ou sur d'autre, mais je t'es choisir celui ci qui regroupe la creation d'un utilisateur qui obligatoirement ce trouve dans une OU (attention de donné le distinguishedName complet de l'OU) et l'ajout d'un utilisateur dans un groupe
a toi de l'adapté en fonction de tes besoins
nous somme dispo pour t'aidé à corrigé ton premier script !
Connexion ou Créer un compte pour participer à la conversation.
- Toto JDD
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 9
- Remerciements reçus 0
Au fait, j'ai des notions très basic en programmation. J'utilise windows server 2012 R2 sur l'AD, et j'utilise powershell ISE.
Voici le scripte que je puis concevoir :
[code:1]Import-Module ActiveDirectory
$users = Import-Csv -Delimiter \";\" -Path \"E:\Data\users.csv\"
foreach ($temp in $users) {
$name = $temp.Nom + \" \" + $temp.Prenom
$fName = $temp.Nom
$firstLetterName = $fName.substring(0,1)
$SAM = $firstLetterName + $temp.Prenom
$dep = $itemp.Groupe
switch ($temp.OU){
\"Bruxelles\" { $ou = \"OU=Bruxelles,OU=Region,DC=domaine,DC=com\" }
\"Namur\" { $ou = \"OU=Londres,OU=Region,DC=domaine,DC=com\" }
\"Liège\" { $ou = \"OU=Berlin,OU=Region,DC=domaine,DC=com\" }
default { $ou = $null }
}
if ($ou -ne $null) {
try {
New-ADUser -Name $name -SamAccountName $SAM -UserPrincipalName $SAM -DisplayName $name -GivenName $fName -Surname $temp.Prenom -Enabled $true -Path $ou
write-host \"Utilisateur ajouté : $name\"
}
catch {
write-host \"Utilisateur non ajouté : $name\"
}
}
}
$groupe = Import-Csv -Delimiter \";\" -Path \"E:\Data\users.csv\"
foreach ($itempo in $groupe) {
$dep = $itempo.Groupe
switch ($itempo.OU){
\"Bruxelles\" { $ou = \"OU=Bruxelles,OU=Region,DC=domaine,DC=com\" }
\"Namur\" { $ou = \"OU=Londres,OU=Region,DC=domaine,DC=com\" }
\"Liège\" { $ou = \"OU=Berlin,OU=Region,DC=domaine,DC=com\" }
default { $ou = $null }
}
If((Get-ADGroup -Filter {Name -eq $dep}) -eq $null){
if ($ou -ne $null) {
try {
New-ADGroup -Name $dep -Path $ou -GroupScope Global
write-host \"La création du groupe: $dep\"
}
catch {
write-host \"Le groupe non ajouté : $dep\"
}
}
}
}[/code:1]
Ce scripte ajoute les utilisateurs dans l'OU auxquelles ils appartiennent et créer seulement les groupes Comptabilité, Logistique et Direction dans l'OU Bruxelles sans les ajouter dans les OU Namur et Liège.
Comment faire pour que ce scripte creer les meme groupes créer dans l'OU Bruxelles dans les autres OU (Namur et Liège)?
Peut-on aussi ajouter qui permet d'affecter chaque users dans le groupe auquel i appartient en fonction de son OU?
Ce scripte est le fruit de la documentation faite sur ce plateforme. Merci encore une fois.
Merci encore une fois de m'orienter.
TOTO JDD<br><br>Message édité par: Toto , à: 18/08/16 16:43
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
pour info moi c'est 6ratgus
peut tu aussi nous aider en mettant les balises code sur les parties scripts de ton message, stp.
Ca nous facilite le travail de lecture de ton code !
pour ça tu surligne ton code et tu clique sur le bouton code au dessus de la zone de saisi du texte
->tu as la possibilité d’éditer (modifier) ton premier post
merci
chaque nom de groupe est unique dans l'ADComment faire pour que ce scripte creer les meme groupes créer dans l'OU Bruxelles dans les autres OU (Namur et Liège)?
tu ne peut donc pas avoir deux groupe \"Comptabilité, Logistique ou Direction\" dans ton AD
il te faudra les différencié d'une façon ou d'une autre : \"Comptabilité Bruxelles, Comptabilité Namur, Comptabilité Liège\" par exemples
les OUs peuvent avoir les nom mais il faut qu'il soit dans des positions différentes de ton arborescence d'OU
la question n'est pas très lisiblePeut-on aussi ajouter qui permet d'affecter chaque users dans le groupe auquel i appartient en fonction de son OU?
mais pour répondre si tu veut enlevé la colonne groupe de ton fichier CSV, il te faudra bien trouvé le moyen de connaître la fonction de tes utilisateurs ! \"Comptable, Logisticien ou Directeur\"
une solution serait de donné l'info par le nom de l'OU, ex. : \"OU=Comptabilité,OU=Bruxelles,OU=Region,DC=domaine,DC=com\"
tu aurai donc tes utilisateurs classé dans des OU différente en fonction de leur service : \"Comptabilité, Logistique ou Direction\"
il te suffit alors de retrouvé le nom du groupe auquel un utilisateur doit être affecté en lisant le nom de l'OU
[code:1]
$ou = \"OU=Comptabilité,OU=Bruxelles,OU=Region,DC=domaine,DC=com\"
($ou -split \"^OU=([\w- \(\)\!\'\.]+)[, ]+[COD].=\"«»)[1] # donne Comptabilité
($ou -split \"^OU=[\w- \(\)\!\'\.]+[, ]+OU=([\w- \(\)\!\'\.]+)[, ]+[COD].=\"«»)[1] # donne Bruxelles
$gr = ($ou -split \"^OU=([\w- \(\)\!\'\.]+)[, ]+[COD].=\"«»)[1] + \" \" + ($ou -split \"^OU=[\w- \(\)\!\'\.]+[, ]+OU=([\w- \(\)\!\'\.]+)[, ]+[COD].=\"«»)[1]
$gr # donne Comptabilité Bruxelles
[/code:1]
mais c'est bien compliqué ton AD pour si peu de choses, et peut porté à confusion sur les permissions pour un administrateur inexpérimenté
surtout que bien souvent dans un même service on n'a des utilisateurs avec des permissions différentes du coup tous ton travail d'organisation est a refaire
mais tous ça depend de la taille de ton organisation/entreprise bien sûr !!
Connexion ou Créer un compte pour participer à la conversation.
- Toto JDD
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 9
- Remerciements reçus 0
Le code que tu viens de m’envoyer dépasse ma compréhension (niveau), du cout l’interprété devient difficile pour moi. Sinon, je viens d’apprendre qu’il n’est pas possible d’avoir deux groupes de même nom dans un AD. Je comprends que t’as vraiment le souci de m’apprendre. Du coup, je reformule ma préoccupation par deux questions (Pourrais-tu me répondre par en script, à partir de mon fichier .csv qui répondrait à ces deux préoccupation):
1. Création dynamique des groupes basés sur les rôles à partir des Groupe du fichier CSV sous la forme suivante. Exemple pour comptabilité :
• Groupe « comptabilité » sous l’OU Region
• Groupe « comptabilitéBruxelles » sous l’OU Region/Bruxelles
2. Attribution des comptes aux bons groupes. L’utilisateur est membre, par exemple, de «comptabilitéBruxelles» et «comptabilitéBruxelles» est membre de « Bruxelles»
Merci
Toto JDD
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
ok mais d'abord peut tu stp m'aider en mettant les balises code sur les parties scripts de tes message, stp.Pourrais-tu me répondre par en script, à partir de mon fichier .csv qui répondrait à ces deux préoccupation
Ca me facilite le travail de lecture de ton code !
pour ça tu surligne ton code et tu clique sur le bouton code au dessus de la zone de saisi du texte
->tu as la possibilité d’éditer (modifier) tes premiers post
merci
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Importer les users, OU et groupes vers AD