Comment ajouter et supprimer des groupes AD et des objets dans des groupes avec PowerShell
Jun 19, 2018
Microsoft Active Directory sert de point centralisé pour l'administration, l'autorisation et l'authentification. Dans AD, l'accès aux ressources réseau est accordé aux principaux de sécurité, tels que les comptes utilisateurs et les comptes ordinateurs, et ces permissions peuvent changer avec le temps. Pour simplifier la gestion des accès et améliorer la sécurité, les entreprises de taille moyenne et grande utilisent souvent Active Directory security groups, qui peuvent contenir des comptes utilisateurs, des comptes ordinateurs et d'autres groupes. Ils utilisent également souvent des groupes de distribution pour gérer les listes de distribution d'e-mails. Les groupes de sécurité et de distribution ont tous deux des identifiants de sécurité uniques (SIDs) et des identifiants globalement uniques (GUIDs).
Contenu connexe sélectionné :
Le composant logiciel enfichable ADUC MMC est idéal pour gérer les deux types de groupes, mais PowerShell est un moyen bien plus efficace pour les gérer en masse.
Si vous n'êtes pas déjà familier avec les groupes AD et la gestion de groupes, veuillez lire le guide des meilleures pratiques de gestion de groupes Active Directory avant de continuer.
De plus, gardez à l'esprit que pour utiliser ces scripts PowerShell, vous devez importer le module pour interagir avec AD — le Module Active Directory pour Microsoft Windows PowerShell. Ce module a été introduit dans Windows Server 2008 R2 et est activé par défaut dans Windows Server 2012 et ultérieur. Vous pouvez obtenir la liste complète des cmdlets du module AD en exécutant la commande suivante :
Get-Command -Module ActiveDirectory
La liste complète contient 147 cmdlets ; cependant, seulement ces onze sont liés aux groupes Active Directory :
- Add-ADGroupMember
- Add-ADPrincipalGroupMembership
- Get-ADAccountAuthorizationGroup
- Get-ADGroup
- Get-ADGroupMember
- Get-ADPrincipalGroupMembership
- New-ADGroup
- Remove-ADGroup
- Remove-ADGroupMember
- Remove-ADPrincipalGroupMembership
- Set-ADGroup
Création d'un groupe Active Directory avec PowerShell
Pour créer un groupe AD, utilisez la cmdlet New-ADGroup. Vous pouvez obtenir sa syntaxe en exécutant la commande suivante :
Get-Command New-ADGroup –Syntax
La manière la plus simple de créer un groupe consiste à exécuter ce court script :
New-ADGroup "Group Name"
Le système vous demandera de spécifier le paramètre « GroupScope », puis il créera un nouveau groupe. Cependant, ce groupe aura des valeurs par défaut, telles que :
- Il sera créé dans le conteneur LDAP par défaut appelé « Users ».
- Il aura le type de groupe « Security ».
- Les champs membres, membre de, description, courriel et notes seront tous vides.
Imaginons que nous voulons créer un groupe de sécurité appelé « Quality » sur notre AD DC. Utilisons les paramètres suivants : Il devrait se trouver dans l'OU « Production » (-Path), il devrait être un groupe de sécurité (-GroupCategory), et il devrait être global (-GroupScope).
New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose
Si vous souhaitez créer un groupe de distribution universel, changez simplement le paramètre –GroupCategory en « Distribution » et le paramètre –GroupScope en « Universel ». Vous pouvez également modifier le chemin LDAP en changeant le paramètre –Path.
Suppression d'un groupe Active Directory avec PowerShell
Pour supprimer un groupe AD, utilisez la cmdlet Remove-ADGroup. Le script le plus simple pour cela ressemblera à ceci :
Remove-ADGroup -Identity Quality
Vous serez invité à confirmer la suppression du groupe.
Ajout d'utilisateurs et d'ordinateurs à un groupe avec PowerShell
Vous pouvez ajouter des utilisateurs à un groupe AD avec la cmdlet Add-AdGroupMember. Par exemple, si vous aviez besoin d'ajouter deux utilisateurs, B.Jackson et E.Franklin, au groupe « Quality », voici à quoi ressemblerait le script :
Add-AdGroupMember -Identity Quality -Members B.Jackson, E.Franklin
Une fois que vous avez ajouté des utilisateurs à un groupe de sécurité, vous pouvez exécuter le script ci-dessous pour vérifier qu'ils sont répertoriés comme membres :
Get-ADGroupMember -Identity Quality
Si vous devez ajouter des utilisateurs à un autre groupe de sécurité ou de distribution, tel que « Domain Admins », indiquez « Domain Admins » comme valeur pour le paramètre –Identity. Si vous avez besoin qu'un groupe soit membre d'un autre, spécifiez un nom de groupe comme valeur pour le paramètre –Members. Le même principe s'applique aux comptes d'ordinateurs, mais vous devrez ajouter un signe dollar ($) à la fin du nom du compte d'ordinateur. Par exemple, pour ajouter l'ordinateur « WKS043 » à un groupe, spécifiez « WKS043$ » comme valeur pour le paramètre –Member :
Add-AdGroupMember -Identity Quality -Members WKS043$
Contenu connexe sélectionné :
Ajout d'un utilisateur à plusieurs groupes
Pour ajouter un utilisateur à plusieurs groupes à la fois, exécutez le script suivant.
"Managers","Quality" | Add-ADGroupMember -Members `
(Read-Host -Prompt "Enter User Name")
Ajout d'utilisateurs à un groupe à partir d'un fichier CSV
Si vous souhaitez ajouter un grand nombre d'utilisateurs à un groupe, vous pouvez les spécifier dans un fichier CSV puis importer ce fichier. Notez que la liste des noms d'utilisateur dans le fichier CSV doit contenir les SamAccountNames dans la colonne « utilisateurs ».
Pour ajouter des utilisateurs à un groupe à partir d'un fichier CSV, exécutez le script PowerShell suivant :
Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}
Copier des utilisateurs d'un groupe à un autre
Si vous souhaitez copier tous les membres d'un groupe à un autre groupe, exécutez le script suivant :
Get-ADGroupMember “Quality” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “QualityControl” -Members $_}
Suppression d'utilisateurs ou d'ordinateurs d'un groupe
Pour retirer un utilisateur d'un groupe, utilisez la cmdlet Remove-ADGroupMember:
Remove-ADGroupMember -Identity Quality -Members J.Robinson
Pour retirer un compte d'ordinateur d'un groupe, spécifiez le nom de l'ordinateur avec un signe dollar ($) à la fin pour la valeur du paramètre -Members.
Suppression de plusieurs comptes utilisateurs d'un groupe
Une manière simple de retirer plusieurs utilisateurs d'un groupe AD consiste à créer un fichier CSV avec la liste des noms d'utilisateur puis à supprimer ces utilisateurs de l'objet groupe en utilisant ce script :
Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}
Suppression d'un utilisateur de tous les groupes
Pour retirer un utilisateur de tous les groupes, exécutez ce script :
Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object {
$_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false
}
Notez que l'utilisateur perdra tous les appartenances aux groupes sauf “Domain Users”, qui peut être retiré manuellement si nécessaire.
Rapports sur les groupes Active Directory
Maintenant que nous savons comment effectuer de nombreuses tâches courantes de Directory Management liées aux groupes en utilisant PowerShell, voyons comment rapporter sur quels groupes existent dans AD :
Pour lister tous les groupes dans AD, utilisez le script ci-dessous :
Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory
Bien sûr, vous voudrez également examiner les membres des groupes AD et les changements de membres des groupes AD. Voici des liens vers des instructions pour réaliser ces tâches plus complexes :
- Comment surveiller les modifications des appartenances aux groupes Active Directory
- Comment obtenir des rapports d'appartenance aux groupes d'utilisateurs AD
- Comment exporter les membres d'un groupe AD particulier
- Gestion des UO et déplacement de leurs objets avec PowerShell
Conclusion
Maintenant que vous avez appris à gérer les groupes et l'appartenance aux groupes dans Active Directory à l'aide de scripts PowerShell, essayez de réaliser certaines des tâches de gestion de groupe vous-même. Cependant, soyez prudent et n'oubliez pas d'activer la fonctionnalité Active Directory Recycle Bin afin de pouvoir facilement revenir en arrière si quelque chose ne se passe pas comme prévu. Rappelez-vous, le composant logiciel enfichable ADUC MMC est excellent pour gérer les groupes et l'appartenance aux groupes, mais PowerShell est bien meilleur pour gérer les groupes en masse.
Partager sur
En savoir plus
À propos de l'auteur
Jeff Melnick
Directeur de l'ingénierie des systèmes
Jeff est un ancien directeur de l'ingénierie des solutions mondiales chez Netwrix. Il est un blogueur, conférencier et présentateur de longue date chez Netwrix. Dans le blog Netwrix, Jeff partage des astuces et des conseils qui peuvent améliorer de manière significative votre expérience en administration système.
En savoir plus sur ce sujet
Lois sur la confidentialité des données par État : Différentes approches de la protection de la vie privée
Exemple d'analyse des risques : Comment évaluer les risques
Le Triangle CIA et son application dans le monde réel
Qu'est-ce que la gestion des documents électroniques ?
Analyse quantitative des risques : Espérance de perte annuelle