Rajouter des utilisateurs dans un groupe AD à partir d’un fichier .CSV

Hello, je partage ce petit script qui pourrait vous être utile si vous souhaitez rajouter des utilisateurs (100, 1000…) en bloc à un groupe AD.

Pour  utiliser ce script cela suppose que vous avez déjà la liste de vos utilisateurs et que ces derniers existent déjà dans votre organisation Active Directory. Il faudra donc constituer un fichier .csv et ensuite exécuter le script que je vous fournis dans ce post dans PowerShell sur un contrôleur de domaine.

Le contenu du fichier MesUsers.csv

Name
saturnin
marie
serge
kevin
joel
gedeon
salomon
daniel
philippe
josiane

Le script à utiliser est le suivant:

Import-Module ActiveDirectory #Nous chargeons le module Active Directory 

  $Group = "Nom du Groupe AD" #Group AD dans lequel vous souhaitez rajouter des users 
  $MesUsers = Import-Csv "C:\MesUsers.csv" #Chemin d'accès de votre fichier Csv contenant la liste de vos users 
  $members = Get-ADGroupMember -Identity $Group -Recursive | Select -ExpandProperty Name 

ForEach ($User in $MesUsers){ 

  #Vérifie si l'utilisateur existe déjà dans le groupe  
  If ($members -contains $User.Name){            
    Write-Host "$($User.Name.ToUpper()) exists in the Group" -ForegroundColor Yellow       

  #S'il n'existe pas on le rajoute      
  Elseif (Add-ADGroupMember -Identity $Group -Members $User.Name -ErrorAction SilentlyContinue){            
      Write-Host "$($User.Name.ToUpper()) a été rajouté au group" -ForegroundColor Green      
  }  

  #En cas de problème on ressort ici la liste des users qui n'ont pas pu être rajoutés      
  Else{          
     Write-Host "Unable to Add $($User.Name.ToUpper())" -ForegroundColor Red      
  } 
}

 

Pour visualiser le log des erreurs, histoire de vérifier que le scritp s’est exécuté correctement, il suffit d’afficher le contenu de la variable $error. C’est une variable système pré-définie dans PowerShell.

$error

Et voilà 🙂