Question [Résolu] Importer les users, OU et groupes vers AD

Plus d'informations
il y a 9 ans 7 mois #22162 par Toto JDD
C'est fait.

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

Plus d'informations
il y a 9 ans 7 mois #22164 par Philippe
merci B)

2. Attribution des comptes aux bons groupes. L’utilisateur est membre, par exemple, de «comptabilitéBruxelles» et «comptabilitéBruxelles» est membre de « Bruxelles»

peut tu relire la phrase est me dire ou tu a fait une erreur de frappe stp :blush:
je suis pas sur de savoir ou ce trouve \"Bruxelles\" :lol:

peut aussi jeté un coup œil sur l' AGDLP et sur ce forum tu trouve quelqu'un qui tente de comprendre l'utilité
ici un video sur l'explication de la AGDLP si tu préfère et ici une autre video qui détaille l'utilisation

Message édité par: 6ratgus, à: 18/08/16 17:50<br><br>Message édité par: 6ratgus, à: 18/08/16 17:55

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

Plus d'informations
il y a 9 ans 7 mois #22166 par Toto JDD
Voici cette explication pour comprendre la place de \&quot;Bruxelles\&quot; ou toute autre OU comme Namur et Liège

tu peux te referer à l'infrastructure suivante :

\&quot;OU=Region,DC=domaine,DC=com\&quot;

OU Region devrait contenir :
* les OU suivantes : Bruxelles, Namur et Liège;
* les groupes suivant : Comptabilité, Logistique et Direction

OU Bruxelles (de l'OU Region) devrait comptenir les grouppes :
* ComptabilitéBruxelles, LogistiqueBruxelles et DirectionBruxelles (Idem pour les autres OU)

le groupe ComptabilitéBruxelles contient tous les utilisateurs appartenant au groupe Comtabilité de la région de Bruxelles.

Merci

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

Plus d'informations
il y a 9 ans 7 mois #22167 par Philippe
salut toto

j'ai pas dormie cette nuit pour te faire un super script suivant tes demandes. ;)
j'espère que c'est bien ce que tu demande !

[code:1]

$liste = Import-Csv -Delimiter \&quot;;\&quot; -Path \&quot;D:\data\users.csv\&quot; -Encoding UTF7

# OU de base ou seront créé les utilisateurs
$baseou = \&quot;OU=Region,DC=domaine,DC=com\&quot;

# mot de passe par defaut à la creation de l'utilisateur
$password = \&quot;azerty\&quot;

# test si l'AD est injoingnable
try {
$ok = get-ADOrganizationalUnit -Filter {DistinguishedName -eq $baseou}
}
catch {
write-host \&quot;erreur l'AD est injoingnable\&quot; -foregroundcolor Red
exit
}

# test si l'OU de base ou seront créé les utilisateurs existe
if ($ok) {
foreach ($itempo in $liste) {
$dep = $itempo.Groupe
$region = $itempo.ou
# création du nom de l'OU de la region ou sera créé l'utilisateur
$ou = \&quot;OU=$region,$baseou\&quot;

# test si l'OU de la region ou sera créé l'utilisateur et le groupe departement existe
if ((get-ADOrganizationalUnit -Filter {DistinguishedName -eq $ou})) {

# test si le groupe departement esixte dans OU de base
If ((Get-ADGroup -Filter {Name -eq $dep})) {
write-host \&quot;ce groupe : \&quot; -foregroundcolor Yellow -NoNewline
write-host $dep -NoNewline
write-host \&quot; est deja present dans l'OU : \&quot; -foregroundcolor Yellow -NoNewline
write-host $ou
}
else {
New-ADGroup -Name $dep -Path $baseou -GroupScope Global
write-host \&quot;création du groupe \&quot; -ForegroundColor Green -NoNewline
write-host $dep -NoNewline
write-host \&quot; dans l'OU : \&quot; -foregroundcolor Green -NoNewline
write-host $ou
}

# test si le groupe departement esixte dans OU de la region
If ((Get-ADGroup -Filter \&quot;Name -eq `\&quot;$dep$region`\&quot;\&quot;«»)) {
write-host \&quot;ce groupe : \&quot; -foregroundcolor Yellow -NoNewline
write-host $dep$region -NoNewline
write-host \&quot; est deja present dans l'OU : \&quot; -foregroundcolor Yellow -NoNewline
write-host $ou
}
else {
New-ADGroup -Name \&quot;$dep$region\&quot; -Path $ou -GroupScope Global
write-host \&quot;création du groupe \&quot; -ForegroundColor Green -NoNewline
write-host $dep$region -NoNewline
write-host \&quot; dans l'OU : \&quot; -foregroundcolor Green -NoNewline
write-host $ou
}

$DisplayName = $itempo.Nom + \&quot; \&quot; + $itempo.Prenom
$Name = $itempo.Nom
$SAM = $($Name.substring(0,1)) + $itempo.Prenom
# création de l'utilisateur
# test si le login est deja utilisé dans l'AD (les login sont unique dans l'AD)
If ((Get-ADUser -Filter {SamAccountName -eq $SAM})) {
write-host \&quot;un utilisateur existe deja dans l'AD avec ce login \&quot; -foregroundcolor Yellow -NoNewline
write-host $SAM -NoNewline
write-host \&quot; et le nom : \&quot; -foregroundcolor Yellow -NoNewline
write-host $DisplayName -NoNewline
Write-Host \&quot; et n'a été ajouté dans AUCUN groupe\&quot; -ForegroundColor Magenta
}
else {
try {
# ajout de l'utilisateur dans l'OU de la region
New-ADUser -Name $DisplayName -SamAccountName $SAM -UserPrincipalName $SAM -DisplayName $DisplayName -GivenName $Name -Surname $temp.Prenom -Enabled $true -Path $ou -AccountPassword $(ConvertTo-SecureString -AsPlainText $password -Force)
write-host \&quot;Utilisateur \&quot; -foregroundcolor Green -NoNewline
write-host $DisplayName -NoNewline
write-host \&quot; à été ajouté dans l'OU : \&quot; -foregroundcolor Green -NoNewline
write-host $ou

# ajout de l'utilisateur dans le groupe departement de l'OU de base
Add-ADGroupMember -Identity $dep -Members $SAM
write-host $name -NoNewline
write-host \&quot; ajouté dans le groupe : \&quot; -foregroundcolor Green -NoNewline
write-host $dep
# ajout de l'utilisateur dans le groupe departement de l'OU de la region
Add-ADGroupMember -Identity \&quot;$dep$region\&quot; -Members $SAM
write-host $name -NoNewline
write-host \&quot; ajouté dans le groupe : \&quot; -foregroundcolor Green -NoNewline
write-host $dep$region
}
catch {
write-host \&quot;erreur durant la création de : \&quot; -foregroundcolor Red -NoNewline
write-host $name -NoNewline
write-host \&quot; dans l'OU : \&quot; -foregroundcolor Red -NoNewline
write-host $ou
}
}
}
else {
write-host \&quot;erreur l'OU de la region est injoingnable : \&quot; -foregroundcolor Red -NoNewline
write-host $ou
}
}
}
else {
write-host \&quot;erreur l'OU de base est injoingnable : \&quot; -foregroundcolor Red -NoNewline
write-host $baseou
}


[/code:1]

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

Plus d'informations
il y a 9 ans 7 mois #22168 par Toto JDD
Merci beaucoup pour ce script.

Tu trouverais en attache l'image avec le résultat du script. Il me semble que jusque là rien ne marche pas encore.

Merci vraiment de ton abnégation

La pièce jointe script_test.pdf est absente ou indisponible

<br><br>Message édité par: Toto , à: 19/08/16 12:21
Pièces jointes :

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

Plus d'informations
il y a 9 ans 7 mois #22169 par Philippe
d'après la photo tu a deux erreurs :
- un espace après bruxelles (qui peut être enlevé automatiquement dans le script si tu veux)
- et le plus important il n'y a pas d'OUs Bruxelles, Namur et Liège dans l'OU OU=Region,DC=dom211189,DC=pri de ton AD (leur création par le script n'était pas prévu dans la demande mais peut être intègre si tu veux)<br><br>Message édité par: 6ratgus, à: 19/08/16 14:38

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

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