Untitled
unknown
plain_text
8 months ago
2.5 kB
6
Indexable
# Chemin du fichier CSV
$csvPath = "C:\Path\To\users.csv"
# Lire le fichier CSV
$users = Import-Csv -Path $csvPath -Delimiter ";"
# Création des Unités d'Organisation (OU)
New-ADOrganizationalUnit -Name "ComputeSystem" -Path "DC=domain,DC=com"
New-ADOrganizationalUnit -Name "Utilisateurs" -Path "OU=ComputeSystem,DC=domain,DC=com"
New-ADOrganizationalUnit -Name "Groupes" -Path "OU=ComputeSystem,DC=domain,DC=com"
New-ADOrganizationalUnit -Name "DL" -Path "OU=ComputeSystem,DC=domain,DC=com"
# Création des utilisateurs dans l'OU Utilisateurs
foreach ($user in $users) {
$prenom = $user.Prénom
$nom = $user.Nom
$groupe = $user.Groupe
# Créer l'utilisateur dans l'OU Utilisateurs
New-ADUser -Name "$prenom $nom" `
-GivenName $prenom `
-Surname $nom `
-SamAccountName "$prenom.$nom" `
-UserPrincipalName "$prenom.$nom@domain.com" `
-Path "OU=Utilisateurs,OU=ComputeSystem,DC=domain,DC=com" `
-Enabled $true `
-AccountPassword (ConvertTo-SecureString "P@ssw0rd!" -AsPlainText -Force)
}
# Création des groupes GG dans l'OU Groupes (uniques)
$groupes = $users | Select-Object -ExpandProperty Groupe | Sort-Object | Get-Unique
foreach ($groupe in $groupes) {
New-ADGroup -Name $groupe `
-GroupScope Global `
-GroupCategory Security `
-Path "OU=Groupes,OU=ComputeSystem,DC=domain,DC=com"
}
# Création des groupes DL dans l'OU DL (fixes)
$dlGroups = @(
"DL-DIRECTION-RW",
"DL-COMMERCIAUX-RW",
"DL-COMPTABILITE-R",
"DL-COMPTABILITE-RW",
"DL-ADMINISTRATEUR-RW",
"DL-SUPPORT-02-R",
"DL-SUPPORT-02-RW",
"DL-SUPPORT-01-RW"
)
foreach ($dl in $dlGroups) {
New-ADGroup -Name $dl `
-GroupScope DomainLocal `
-GroupCategory Security `
-Path "OU=DL,OU=ComputeSystem,DC=domain,DC=com"
}
# Association des groupes GG aux groupes DL correspondants
$mapping = @{
"GG-DIRECTION" = @("DL-DIRECTION-RW")
"GG-COMPTABILITE" = @("DL-COMPTABILITE-R", "DL-COMPTABILITE-RW")
"GG-SUPPORT-01" = @("DL-SUPPORT-01-RW")
"GG-SUPPORT-02" = @("DL-SUPPORT-02-R", "DL-SUPPORT-02-RW")
"GG-ADMINISTRATEUR" = @("DL-ADMINISTRATEUR-RW")
}
foreach ($gg in $mapping.Keys) {
foreach ($dl in $mapping[$gg]) {
Add-AdGroupMember -Identity $dl `
-Members (Get-AdGroupMember -Identity $gg).SamAccountName
}
}
Editor is loading...
Leave a Comment