Untitled
unknown
plain_text
8 months ago
3.2 kB
7
Indexable
# Charger les données depuis le fichier CSV
$data = Import-Csv -Path "C:\Chemin\Vers\partages3.csv"
# Création des utilisateurs et ajout aux groupes globaux
foreach ($row in $data) {
# Vérifier si la ligne contient un utilisateur valide
if ([string]::IsNullOrEmpty($row.Utilisateurs)) {
continue
}
# Récupérer les informations utilisateur depuis le tableau CSV
$userName = $row.Utilisateurs
$globalGroup = $row.'Groupe Global (GG)'
if ([string]::IsNullOrEmpty($globalGroup)) {
Write-Warning "Le groupe global est manquant pour l'utilisateur : $userName"
continue
}
# Générer le nom d'utilisateur (SamAccountName)
$samAccountName = Get-UserLoginName -FullName $userName
# Déterminer l'UO de l'utilisateur
$userOU = Get-UserOU -GroupName $globalGroup
# Vérifier si l'utilisateur existe déjà dans AD
if (-not (Get-ADUser -Filter {SamAccountName -eq $samAccountName} -ErrorAction SilentlyContinue)) {
try {
# Créer l'utilisateur avec les paramètres spécifiés
New-ADUser -Name $userName `
-SamAccountName $samAccountName `
-UserPrincipalName "$samAccountName@$domain" `
-DisplayName $userName `
-GivenName ($userName.Split(" ")[0]) `
-Surname ($userName.Split(" ")[-1]) `
-Path $userOU `
-AccountPassword $defaultPassword `
-CannotChangePassword $true `
-PasswordNeverExpires $true `
-Enabled $true
Write-Host "Utilisateur créé : $userName (SamAccountName: $samAccountName)"
# Ajouter l'utilisateur au groupe global correspondant
Add-ADGroupMember -Identity $globalGroup -Members $samAccountName
Write-Host "$samAccountName ajouté au groupe : $globalGroup"
} catch {
Write-Warning "Erreur lors de la création de l'utilisateur : $_"
}
} else {
Write-Warning "L'utilisateur existe déjà : $samAccountName"
# Ajouter l'utilisateur au groupe global s'il n'y est pas encore
Add-ADGroupMember -Identity $globalGroup -Members $samAccountName
Write-Host "$samAccountName ajouté au groupe existant : $globalGroup"
}
}
# Configuration des relations DL depuis le tableau CSV
foreach ($row in $data) {
# Récupérer les informations DL depuis le tableau CSV
if ([string]::IsNullOrEmpty($row.DL) -or [string]::IsNullOrEmpty($row.'Membres DL')) {
continue
}
# Récupérer le nom du groupe DL et ses membres associés
$dlGroup = $row.DL
$dlMembers = ($row.'Membres DL').Split(";") | ForEach-Object { $_.Trim() }
foreach ($member in $dlMembers) {
try {
Add-ADGroupMember -Identity $dlGroup -Members $member
Write-Host "$member ajouté au groupe DL : $dlGroup"
} catch {
Write-Warning "Erreur lors de l'ajout de membre au groupe DL : $_"
}
}
}
Write-Host "Création des utilisateurs et configuration des groupes terminée."
Editor is loading...
Leave a Comment