Dans cet article nous allons voir les commandes PowerShell permettant de gérer les groupes dans Active Directory Domain Services.
| Pour utiliser les commandes PowerShell du module AD, il est nécessaire d'importer le module avec la commande « Import-Module ActiveDirectory » |
Pour connaître les commandes liées à la gestion des groupes, vous pouvez utiliser la commande « Get-Command *ADGroup* »
Les commandes « New-ADGroup, Set-ADGroup, Remove-ADGroup, Get-ADGroup » servent à créer, modifier, supprimer et lister les groupes.
Les commandes « Add-ADGroupMember, Get-ADGroupMember, Remove-ADGroupMember » permettent d'ajouter, lister ou supprimer des membres aux groupes. Vous trouverez plus de détails dans le prochain article.
| Pour ajouter un utilisateur à un groupe, vous devez disposer du droit d'écriture sur le groupe et non sur l'utilisateur. Gardez cette remarque à l'esprit, surtout dans un environnement multi-domaines, si votre groupe n'est pas dans le même domaine que l'utilisateur. |
Par exemple, la commande « Get-ADGroup SG-Service-Technique », recherche un groupe dont le nom est « SG-Service-Technique » et renvoie les propriétés les plus importantes.
Vous pouvez entre autres constater qu'il s'agit d'un groupe global (GroupScope) et d'un groupe de sécurité (GroupCategory).
L'option « -propreties * » permet de connaître l'ensemble des propriétés du groupe :
Il est également possible de filtrer les objets rechercher avec l'option « -Filter { Proriete –EQ valeur }». Par exemple, la commande « Get-ADGroup –Filter { GroupScope –eq "Global" } retourne l'ensemble des groupes globaux de ce domaine :
Vous pouvez utiliser plusieurs paramètres dans les options de filtre, comme par exemple «-Filter { (GroupScope –eq "Global" ) –and ( GroupCategory –Eq "security" )}, renvoie les groupes de sécurité de portée globale ( -OR permet de faire un « ou ») :
La commande précédente renvoie une liste, il est donc possible d'utiliser des propriétés comme « Count » pour connaître le nombre d'éléments dans la liste. Par exemple la commande (Get-ADGRoup «-Filter { (GroupScope –eq "Global" ) –and ( GroupCategory –Eq "security" )}).Count , retourne le nombre de groupes globaux de sécurité.
Il est possible de filtrer les attributs AD affichés en sélectionnant que les valeurs qui nous intéressent avec « | select proprité1,propriete2,…» 5 (s'ils ont été sélectionnés dans « get-adgroup »).
Par exemple la commande ci-dessous : « get-adgroup SG-Service-Informatique | select name,WhenCreated », ne renvoie pas la date de création du groupe.
Alors que la commande «get-adgroup SG-Service-Informatique -Properties whencreated | select name,WhenCreated » renvoie bien la date de création.
La commande permettant de créer un nouveau groupe est « New-ADGroup ».
Par exemple la commande ci-dessous crée le groupe « SG-Equipe-Système » dans l'OU « Securite Globale » qui est une sous OU de « Groupes » du domaine « Htrab.lan ». Le groupe est un groupe global de sécurité.
New-ADGroup "SG-Equipe-Systeme" -Path "OU=Securite_global,OU=Groupes,DC=htrab,DC=lan" -GroupCategory "Security" -GroupScope "Global"
La commande "Set-ADGroup" permet de modifier les attributs d'un groupe. Dans l'exemple ci-dessous nous ajoutons la valeur « L'équipe des administrateurs Windows », dans le champ description.
La commande est :
set-adgroup "SG-Equipe-Systeme" -description "L'équipe des administrateurs Windows ..."
Vous pouvez constater la modification depuis la console "Utilisateurs et Ordinateurs Active Directory" :
Vous pouvez également rechercher une liste de groupes à l'aide d'une expression contenue dans le nom en utilisant des caractères de substitution comme par exemple « name –Like "SDL-*" », la commande retournera tous les groupes dont le nom commence par « SDL-».
En utilisant la redirection avec « | » vous pouvez modifier directement l'ensemble des groupes résultant de la recherche, comme nous le montre l'exemple ci-dessous :
Get-ADGroup –Filter { Name –Like " SDL-*" } | Set-ADGroup –Description " Groupe d'accès "
La modification est bien visible dans la console « Utilisateurs et Ordinateurs Active Directory » :
La commande Remove-ADGoup permet de supprimer un groupe. Dans l'exemple suivant « Get-ADGroup SG-toto » nous permet de constater que le groupe existe. Après l'exécution de la commande « Remove-ADGroup SG-Toto », nous pouvons remarquer avec « Get-ADGroup » que celui-ci a bien été supprimé.



