Untitled
unknown
plain_text
8 days ago
2.5 kB
4
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