Untitled
unknown
plain_text
8 days ago
3.2 kB
3
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