PowerShell | Ajouter des membres dans un groupe Active Directory
Rédigé par O. Clotaire
1 commentaire
Classé dans : PowerShell
Ce script PowerShell à pour but d'ajouter des utilisateurs ou des nom d'hôtes (ordinateurs) à un groupe Active Directory.
Pour commencer, l'option -Whatif permet d'effectuer une simulation. Lorsque le résultat vous semble correcte, pour pourrez supprimer cette option du code.
Mettre le compte de celui qui exécutera ce script PowerShell en tant gestionnaire du groupe cible afin qu'il puisse ajouter lui-même les membres.
Ici, GR_NOM-DISTRIB
Créer un fichier texte vide qui contiendra les membres du groupe, avec un seul membre par ligne.
Ici, liste-GR_NOM-DISTRIB.txt
Ordinateur-2017
Ordinateur-0009
Ordinateur-0043
Code à copier pour l'ajout de machines en remplaçant les valeurs en gras par vos valeurs :
# Declaration des variables
# -Whatif :Afin de tester, sans faire de changements permanents
$Group = "GR_NOM-DISTRIB"
$File = "D:\liste-GR_NOM-DISTRIB.txt"
# Comptes machines
Write-host "Membres avant ajout: " (Get-ADGroupMember -Identity "$Group").count
Foreach ($Object in (Get-Content $File)) {Add-ADGroupMember -Identity $Group ($Object + '$') -Whatif}
Write-host "Membres après ajout: " (Get-ADGroupMember -Identity "$Group").count
$Group = "" : Doit contenir le nom de votre groupe.
$File = "" : Doit contenir le chemin absolu de votre fichier.
-Whatif : Juste pour tester, sans faire de changements permanents. A supprimer pour effectuer les modifications.
Pour l'ajout d'utilisateurs à la place des ordinateurs, remplacer la deuxième partie du code par :
# Comptes utilisateurs
Write-host "Membres avant ajout: " (Get-ADGroupMember -Identity "$Group").count
Foreach ($Object in (Get-Content $File)) {Add-ADGroupMember -Identity $Group $Object -Whatif}
Write-host "Membres après ajout: " (Get-ADGroupMember -Identity "$Group").count
# Comptes utilisateurs
Write-host "Membres avant ajout: " (Get-ADGroupMember -Identity "$Group").count
Foreach ($Object in (Get-Content $File)) {Add-ADGroupMember -Identity $Group $Object}
Write-host "Membres après ajout: " (Get-ADGroupMember -Identity "$Group").count
Supprimer les membres du groupe AD :
Import-Module ActiveDirectory
$Group = "GR_NOM-DISTRIB"
Foreach ($object in (Get-ADGroupMember $Group) ){
write-output $object
remove-adgroupmember -Identity $Group -Members $object -Confirm:$false
}