Question Script AD, users dans les bons groupes

Plus d'informations
il y a 5 ans 8 mois #27617 par poubelle
Bonjour,

Je reprends depuis le début.
1 - La création OU et les groupes.
2 - La création des utilisateurs dans la bonne OU.
3 - Ensuite je vais mettre les utilisateurs dans les bon groupes.

Le 1 fonctionne très bien.

[code:1]Import-Module ActiveDirectory
Import-Module 'Microsoft.PowerShell.Security'

#********************Création des OU********************************

New-ADOrganizationalUnit -Name \"Employé\" -Path \"DC=tesad,DC=loc\"
New-ADOrganizationalUnit -Name \"Belfort\" -Path \"OU=Employé,DC=tesad,DC=loc\"
New-ADOrganizationalUnit -Name \"ScolaireBelfort\" -Path \"ou=Belfort,ou=Employé,dc=tesad,dc=loc\"

New-ADOrganizationalUnit -Name \"Besançon\" -Path \"OU=Employé,DC=tesad,DC=loc\"
New-ADOrganizationalUnit -Name \"Ecole\" -Path \"ou=Besançon,ou=Employé,dc=tesad,dc=loc\"
New-ADOrganizationalUnit -Name \"Rectorat\" -Path \"ou=Besançon,ou=Employé,dc=siege,dc=loc\"
New-ADOrganizationalUnit -Name \"AdministrationGénérale\" -Path \"ou=Rectorat,ou=Besançon,ou=Employé,dc=tesad,dc=loc\"
New-ADOrganizationalUnit -Name \"Informatique\" -Path \"ou=Rectorat,ou=Besançon,ou=Employé,dc=tesad,dc=loc\"

New-ADOrganizationalUnit -Name \"Dijon\" -Path \"OU=Employé,DC=tesad,DC=loc\"
New-ADOrganizationalUnit -Name \"ScolaireDijon\" -Path \"ou=Dijon,ou=Employé,dc=tesad,dc=loc\"


# Création des groupes

New-ADGroup -Name BelfortScolaire -GroupScope Global -GroupCategory Security -Path \"ou=ScolaireBelfort,ou=Belfort,ou=Employé,dc=tesad,dc=loc\"

New-ADGroup -Name DijonScolaire -GroupScope Global -GroupCategory Security -Path \"ou=ScolaireDijon,ou=Dijon,ou=Employé,dc=tesad,dc=loc\"

New-ADGroup -Name Ecole -GroupScope Global -GroupCategory Security -Path \"ou=Ecole,ou=Besançon,ou=Employé,dc=tesad,dc=loc\"
New-ADGroup -Name AG -GroupScope Global -GroupCategory Security -Path \"ou=administrationGénérale,ou=Rectorat,ou=Besançon,ou=Employé,dc=tesad,dc=loc\"
New-ADGroup -Name Informatique -GroupScope Global -GroupCategory Security -Path \"ou=Informatique,ou=Rectorat,ou=Besançon,ou=Employé,dc=tesad,dc=loc\"[/code:1]

Le 2 Ajouter les utilisateurs dans les groupes

[code:1]Import-Module ActiveDirectory
Import-Module 'Microsoft.PowerShell.Security'

$users = Import-Csv -Delimiter \";\" -Path \"C:\Users\Administrateur\Desktop\user_glpi_full2.csv\"

#*******Ajout de chaque utilisateur dans son OU spécifique*******

foreach ($user in $users){

$name = $user.Prénom + \" \" + $user.\"Nom de famille\"
$fname = $user.Prénom
$lname = $user.\"Nom de famille\"
$login = $user.identifiant
$Uoffice = $user.Lieu
$Upassword = \"Azerty25\"
$Email = $user.\"Adresses de messagerie\"
$TelephoneFixe = $user.Téléphone
$TelephoneMobile = $user.\"Téléphone mobile\"
$dept = $user.Groupes
$SAM= $login+\"@testad..loc\"
$description = $user.Commentaires
$societe = $user.sociétés
$adresse = $user.Adresse
$boitepostale = $user.\"boîte postale\"
$codepostale = $user.\"Code Postale\"
$ville = $user.villes

switch($user.Lieu){
\"Belfort\" {$office = \"OU=Belfort,OU=Employé,dc=testad,,dc=loc\"}

\"ScolaireBElfort\" {$office = \"ou=ScolaireBelfort,ou=ScolaireBelfort,OU=Belfort,OU=Employé,dc=testad,,dc=loc\"}

\"Dijon\" {$office = \"OU=Dijon,OU=Employé,dc=testad,,dc=loc\"}
\"ScolaireDijon\" {$office = \"ou=ScolaireDijon,OU=Dijon,OU=Employé,dc=testad,,dc=loc\"}

\"Besançon\" {$office = \"OU=Besançon,OU=Employé,dc=testad,,dc=loc\"}
\"Ecole\" {$office = \"ou=Ecole,OU=Besançon,OU=Personnels,dc=testad,,dc=loc\"}
\"Rectorat\" {$office = \"ou=Rectorat,OU=Besançon,OU=Personnels,dc=testad,,dc=loc\"}
\"AdministrationGénérale\" {$office = \"ou=AdministrationGénérale,ou=Rectorat,OU=Besançon,OU=Personnels,dc=testad,,dc=loc\"}
\"Ecole\" {$office = \"ou=Informatique,ou=Rectorat,OU=Besançon,OU=Personnels,dc=testad,,dc=loc\"}

default {$office = $null}
}

try {

New-ADUser -Name $name -SamAccountName $login -UserPrincipalName $SAM -DisplayName $name -GivenName $fname -Surname $lname -AccountPassword (ConvertTo-SecureString $Upassword -AsPlainText -Force) -Office $Uoffice -Department $dept -StreetAddress $adresse -POBox $boitepostale -PostalCode $codepostale -city $ville -company $societe -OfficePhone $TelephoneFixe -HomePhone $TelephoneFixe -MobilePhone $TelephoneMobile -EmailAddress $Email -Description $description -Enabled $true

echo \"Utilisateur ajouté : $name\"


} catch{
echo \"utilisateur non ajouté : $name\"
}


}[/code:1]

Qu'en penses tu ?

Je vois déjà une erreur Il ne me met pas dans les bonnes OU. Il le met directement dans l'OU USER

Merci

unfam0us écrit:

Je t'ai joint un code de \"debug\" à la fin de mon poste. Celui-ci te fais un output si ton test est juste mais comme je t'ai dit il ne sera jamais juste, ton test est donc toujours faux.
if ($service -eq \"SiegeBelfort\" -and $service -eq \"Maternelle\"){

Il est important que tu saches ce que tu veux faire, je ne peux pas corriger ton code à ta place. Formule déjà textuellement les conditions d'ajout de tel ou tel utilisateur dans tel ou tel groupe, on pourra ensuite te donner une indication de ce qui est juste ou faux.


_______________________
Technicien informatique
Débutant dans les scripts PowerShell.
Windows Serveur 2016

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

Plus d'informations
il y a 5 ans 8 mois #27618 par de França
Il ne te met pas tes users dans la bonne OU car il te manque la proriété -path dans ton new-aduser.

[code:1]New-ADUser -Name $name -SamAccountName $login -UserPrincipalName $SAM -DisplayName $name -GivenName $fname -Surname $lname -AccountPassword (ConvertTo-SecureString $Upassword -AsPlainText -Force) -Office $Uoffice -Department $dept -StreetAddress $adresse -POBox $boitepostale -PostalCode $codepostale -city $ville -company $societe -OfficePhone $TelephoneFixe -HomePhone $TelephoneFixe -MobilePhone $TelephoneMobile -EmailAddress $Email -Description $description -Enabled $true -path $office[/code:1]

Essaye comme ça.

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

Plus d'informations
il y a 5 ans 8 mois #27620 par poubelle
Bonjour,

Merci pour le \"-path\".

Il me met :
[code:1]
PS C:\Users\Administrateur\Desktop> C:\Users\Administrateur\Desktop\originale_web2_ecole.ps1
utilisateur non ajouté : cecile.audrey
utilisateur non ajouté : alain.oliver
[/code:1]

Par contre si je met

[code:1]
switch($user.Lieu){
\"Belfort\" {$societe = \"OU=Belfort,OU=Employé,dc=testad,,dc=loc\"}

\"ScolaireBElfort\" {$societe = \"ou=ScolaireBelfort,OU=Belfort,OU=Employé,dc=testad,,dc=loc\"}

\"Dijon\" {$societe = \"OU=Dijon,OU=Employé,dc=testad,,dc=loc\"}
\"ScolaireDijon\" {$societe = \"ou=ScolaireDijon,OU=Dijon,OU=Employé,dc=testad,,dc=loc\"}

\"Besançon\" {$societe = \"OU=Besançon,OU=Employé,dc=testad,,dc=loc\"}
\"Ecole\" {$societe = \"ou=Ecole,OU=Besançon,OU=Employé,dc=testad,,dc=loc\"}
\"Rectorat\" {$societe = \"ou=Rectorat,OU=Besançon,OU=Employé,dc=testad,,dc=loc\"}
\"AdministrationGénérale\" {$societe = \"ou=AdministrationGénérale,ou=Rectorat,OU=Besançon,OU=Employé,dc=testad,,dc=loc\"}
\"Ecole\" {$societe = \"ou=Informatique,ou=Rectorat,OU=Besançon,OU=Employé,dc=testad,,dc=loc\"}

default {$societe = $null}
}

try {

New-ADUser -Name $name -SamAccountName $login -UserPrincipalName $SAM -DisplayName $name -GivenName $fname -Surname $lname -AccountPassword (ConvertTo-SecureString $Upassword -AsPlainText -Force) -Office $Uoffice -Department $dept -StreetAddress $adresse -POBox $boitepostale -PostalCode $codepostale -city $ville -company $societe -OfficePhone $TelephoneFixe -HomePhone $TelephoneFixe -MobilePhone $TelephoneMobile -EmailAddress $Email -Description $description -Enabled $true -path $societe

echo \"Utilisateur ajouté : $name\"


} catch{
echo \"utilisateur non ajouté : $name\"
}
[/code:1]

ça fonctionne mes pas dans la bonne OU. Dans Belfort,Dijon,Besançon.
Je voudrai dans un niveau plus bas.
ScolaireBelfort, Ecole, Rectorat, ScolaireDijon.

Je ne vois pas où j'ai fait une erreur.

Merci

unfam0us écrit:

Il ne te met pas tes users dans la bonne OU car il te manque la proriété -path dans ton new-aduser.

[code:1]New-ADUser -Name $name -SamAccountName $login -UserPrincipalName $SAM -DisplayName $name -GivenName $fname -Surname $lname -AccountPassword (ConvertTo-SecureString $Upassword -AsPlainText -Force) -Office $Uoffice -Department $dept -StreetAddress $adresse -POBox $boitepostale -PostalCode $codepostale -city $ville -company $societe -OfficePhone $TelephoneFixe -HomePhone $TelephoneFixe -MobilePhone $TelephoneMobile -EmailAddress $Email -Description $description -Enabled $true -path $office[/code:1]

Essaye comme ça.

<br><br>Message édité par: alain25, à: 26/09/18 21:08

_______________________
Technicien informatique
Débutant dans les scripts PowerShell.
Windows Serveur 2016

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

Plus d'informations
il y a 5 ans 8 mois #27621 par poubelle
Bonour,

Je viens de m'apercevoir que dans les propriétés et l'onglet oraganisation \&quot;la sociétée ça me met

OU=Belfort,OU=Employé,dctestad,dc=loc.

Merci

_______________________
Technicien informatique
Débutant dans les scripts PowerShell.
Windows Serveur 2016

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

Plus d'informations
il y a 5 ans 8 mois #27625 par poubelle
Bonjour,

J'avais aussi une erreur dans mon fichiers CSV.

Pour le problème de OU c'était dans le New-ADUser
il fallait mettre -company $Usociete au lieu de -company $societe.

Je ne sdais pas pourquoi.

Je passe à la dernière phase. Mettre les utilisateurs le bon groupe.

Merci

Alain

alain25 écrit:

Bonjour,

Je viens de m'apercevoir que dans les propriétés et l'onglet organisation \&quot;la société ça me met

OU=Belfort,OU=Employé,dctestad,dc=loc.

Merci


_______________________
Technicien informatique
Débutant dans les scripts PowerShell.
Windows Serveur 2016

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

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