Microsoft Active Directory sert de point centralisé pour l’administration, l’autorisation et l’authentification. Dans AD, l’accès aux ressources du réseau est accordé aux principaux de sécurité, tels que les comptes d’utilisateur et les comptes d’ordinateur, et ces autorisations peuvent changer au fil du temps. Pour simplifier la gestion des accès et améliorer la sécurité, les moyennes et grandes entreprises utilisent souvent les groupes de sécurité Active Directory, qui peuvent contenir des comptes d’utilisateurs, des comptes d’ordinateurs et d’autres groupes. Elles utilisent également souvent des groupes de distribution pour gérer les listes de distribution de courrier électronique. Les groupes de sécurité et de distribution ont tous deux des identifiants de sécurité uniques (SID) et des identifiants uniques globaux (GUID).

Le snap-in MMC ADUC est excellent pour gérer les deux types de groupes, mais PowerShell est un moyen beaucoup plus efficace de les gérer en masse.

Si vous n’êtes pas déjà familiarisé avec les groupes AD et la gestion des groupes, veuillez lire le guide des meilleures pratiques de gestion des groupes Active Directory avant de poursuivre.

En outre, gardez à l’esprit que pour utiliser ces scripts PowerShell, vous devez importer le module d’interaction 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 les versions ultérieures. 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, seuls 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 façon la plus simple de créer un groupe est d’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 members, member of, description, email et notes seront tous vides.

Imaginons que nous voulons créer un groupe de sécurité appelé « Quality » sur notre DC AD. Utilisons les paramètres suivants : Il doit être dans l’OU « Production » (-Path), il doit être un groupe de sécurité (-GroupCategory) et il doit être global (-GroupScope).

New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose

Si vous voulez faire un groupe de distribution universel, il suffit de changer le paramètre -GroupCategory en « Distribution » et le paramètre -GroupScope en « Universel ». Vous pouvez également changer le chemin LDAP en modifiant 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.

Ajouter des utilisateurs et des ordinateurs à un groupe avec PowerShell

Vous pouvez ajouter des utilisateurs à un groupe AD avec la cmdlet Add-AdGroupMember. Par exemple, si vous avez 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 « Admins de domaine », spécifiez « Admins de domaine » comme valeur du 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’ordinateur, mais vous devez ajouter le signe dollar ($) à la fin du nom du compte d’ordinateur. Par exemple, pour ajouter l’ordinateur « WKS043 » à un groupe, spécifiez « WKS043$ » comme valeur du paramètre -Member:

Add-AdGroupMember -Identity Quality -Members WKS043$

Ajouter 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")

Vous serez invité à saisir le nom d’utilisateur.

Ajouter des utilisateurs à un groupe à partir d’un fichier CSV

Si vous voulez ajouter un grand nombre d’utilisateurs à un groupe, vous pouvez les spécifier dans un fichier CSV et ensuite importer ce fichier. Notez que la liste des noms d’utilisateurs dans le fichier CSV doit contenir les SamAccountNames dans la colonne « users », comme indiqué ci-dessous:

Pour ajouter des utilisateurs à un groupe à partir d’un fichier CSV, exécutez le script PowerShell suivant :

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}

Copier des utilisateurs d’un groupe à un autre

Si vous voulez 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 supprimer un utilisateur d’un groupe, utilisez le cmdlet Remove-ADGroupMember :

Remove-ADGroupMember -Identity Quality -Members J.Robinson

Pour supprimer 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 d’utilisateur d’un groupe

Une façon simple de supprimer plusieurs utilisateurs d’un groupe AD est de créer un fichier CSV avec la liste des noms d’utilisateur, puis de supprimer ces utilisateurs de l’objet de groupe en utilisant ce script :

Import-CSV C:\scripts\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}

Suppression d’un utilisateur de tous les groupes

Pour supprimer 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 toute appartenance à un groupe, sauf « Utilisateurs du domaine », qui peut être supprimé manuellement si nécessaire.

Reporting on Active Directory Groups

Maintenant que nous savons comment effectuer de nombreuses tâches courantes de gestion d’Active Directory liées aux groupes à l’aide de PowerShell, voyons comment faire un rapport sur les groupes qui existent dans AD :

Pour répertorier 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 d’appartenance aux groupes AD. Voici des liens vers des instructions pour effectuer ces tâches plus complexes :

  • Comment surveiller les changements d’appartenance à un groupe Active Directory
  • Comment obtenir des rapports d’appartenance à un groupe d’utilisateurs AD
  • Comment exporter les membres d’un groupe AD particulier
  • Gérer les OU et déplacer leurs objets avec PowerShell

Conclusion

Maintenant que vous avez appris à gérer les groupes et l’appartenance à un groupe dans Active Directory à l’aide de scripts PowerShell, essayez d’effectuer vous-même une partie de la tâche de gestion des groupes. Cependant, soyez prudent et n’oubliez pas d’activer la fonction de corbeille d’Active Directory afin de pouvoir facilement annuler vos modifications si quelque chose ne va pas. N’oubliez pas que le snap-in ADUC MMC est excellent pour gérer les groupes et l’appartenance aux groupes, mais que PowerShell est bien meilleur pour gérer les groupes en masse.

Jeff est directeur de l’ingénierie des solutions globales chez Netwrix. Il est un blogueur, conférencier et présentateur de longue date de Netwrix. Dans le blog de Netwrix, Jeff partage des lifehacks, des conseils et des astuces qui peuvent améliorer considérablement votre expérience d’administration système.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.