Gestion des groupes Active Directory avec PowerShell : Le guide ultime

En tant qu’administrateur système Windows, la gestion des groupes Active Directory (AD) est probablement quelque chose que vous faites tous les jours. Bien que vous puissiez utiliser le complément MMC Utilisateurs et ordinateurs Active Directory (ADUC), que se passe-t-il lorsque vous devez gérer des groupes à travers plusieurs domaines ou automatiser des tâches de gestion de groupes ? C’est là que PowerShell s’avère utile.

Dans ce tutoriel pratique, vous allez apprendre à utiliser PowerShell pour gérer les groupes AD comme un pro. Vous apprendrez à interroger des groupes, à en créer de nouveaux et à modifier des groupes existants à l’aide d’exemples pratiques du monde réel.

Conditions préalables

Si vous souhaitez suivre ce tutoriel, assurez-vous d’avoir les conditions préalables suivantes en place :

  • Un ordinateur Windows (Windows 10/11 ou Windows Server) joint à un domaine Active Directory
  • Un compte utilisateur avec des permissions pour gérer les groupes AD

Interroger les groupes AD avec PowerShell

Commençons par un scénario courant : vous êtes le nouvel administrateur informatique d’une entreprise et devez auditer la structure des groupes AD. Votre responsable veut savoir quels groupes existent dans différents départements. La cmdlet Get-ADGroup sera votre meilleur ami ici.

Trouver des groupes par nom

Peut-être que la tâche la plus simple est de trouver des groupes contenant un texte spécifique dans leur nom. Par exemple, pour trouver tous les groupes avec « Ventes » dans le nom :

Get-ADGroup -Filter 'Name -like "Sales"'

Les astérisques (*) sont des caractères génériques, correspondant à n’importe quel caractère avant ou après « Ventes ». Cette commande retournera tous les groupes ayant « Ventes » dans leur nom.

Filtrer par Type de Groupe

Peut-être que vous voulez seulement voir les groupes de sécurité (et non les groupes de distribution). Vous pouvez ajouter des critères de filtrage supplémentaires en utilisant l’opérateur -et :

Get-ADGroup -Filter 'Name -like "Sales" -and GroupCategory -eq "Security"'

Maintenant, vous ne verrez que les groupes de sécurité ayant « Ventes » dans leur nom.

Recherche dans des UOs Spécifiques

Vous devez trouver des groupes dans une unité organisationnelle (UO) particulière ? Utilisez le paramètre SearchBase :

Get-ADGroup -Filter * -SearchBase 'OU=Engineering,DC=company,DC=local'

Cette commande trouve tous les groupes dans l’UO Ingénierie et ses UOs enfants.

Trouver les Groupes Récemment Créés

Vous voulez voir quels groupes ont été créés après une certaine date ? Filtrez sur l’attribut whenCreated :

Get-ADGroup -Filter 'whenCreated -ge "2023-01-01"'

Cela retourne tous les groupes créés le ou après le 1er janvier 2023.

Créer de Nouveaux Groupes AD

Maintenant, examinons la création de nouveaux groupes. Peut-être que votre entreprise se restructure et que vous devez créer des groupes pour de nouveaux départements.

Créer un Groupe de Sécurité

Voici comment créer un nouveau groupe de sécurité pour le personnel de support informatique :

New-ADGroup -Name "IT_Support" `
            -GroupScope Global `
            -GroupCategory Security `
            -Description "Group for IT support staff" `
            -Path "OU=IT,DC=company,DC=local"

Cela crée un groupe de sécurité global appelé « IT_Support » dans l’unité organisationnelle IT.

Créer un Groupe de Distribution

Besoin d’un groupe de distribution par e-mail ? Il suffit de changer quelques paramètres :

New-ADGroup -Name "Marketing_News" `
            -GroupScope DomainLocal `
            -GroupCategory Distribution `
            -Description "Group for receiving marketing updates" `
            -Path "OU=Marketing,DC=company,DC=local"

Créer Plusieurs Groupes à la Fois

Vous avez plusieurs groupes similaires à créer ? Utilisez une boucle :

$regions = "North", "South", "East", "West"
foreach ($region in $regions) {
    New-ADGroup -Name "Sales_$region" `
                -GroupScope Global `
                -GroupCategory Security `
                -Description "Sales team for $region region" `
                -Path "OU=Sales,DC=company,DC=local"
}

Modifier des groupes existants

Les choses changent dans les organisations. Les groupes doivent être renommés, les descriptions mises à jour et les portées modifiées. Voyons comment gérer ces tâches.

Renommer des groupes

Pour renommer un groupe, vous devrez changer à la fois son nom et son samAccountName :

# D'abord, renommez l'objet du groupe
Get-ADGroup EngineeringTeam | Rename-ADObject -NewName TechTeam

# Ensuite, mettez à jour le samAccountName
Get-ADGroup EngineeringTeam | Set-ADGroup -SamAccountName TechTeam

Mise à jour des descriptions de groupe

Besoin de mettre à jour la description d’un groupe ? Une ligne avec Set-ADGroup :

Get-ADGroup TechTeam | Set-ADGroup -Description 'Technical Team for Engineering Projects'

Changement de portée de groupe

Si vous devez changer la portée d’un groupe (par exemple, de Global à Universal) :

Get-ADGroup TechTeam | Set-ADGroup -GroupScope Universal

Conseils Pro

Voici quelques conseils pour rendre la gestion de vos groupes AD encore plus efficace :

    1. Utilisez toujours `-Filter` au lieu de `-Identity` lors de la requête de plusieurs groupes – c’est plus efficace

    1. Rappelez-vous que la portée du groupe ne peut pas être changée si le groupe a des membres – retirez d’abord les membres

    1. Utilisez le paramètre `-WhatIf` lors des modifications pour prévisualiser ce qui se passerait

    1. Testez toujours vos modifications de groupe dans un environnement non productif d’abord

Résumé

Vous devriez maintenant avoir une base solide pour gérer les groupes AD avec PowerShell. Bien que le module Active Directory Utilisateurs et Ordinateurs soit excellent pour des tâches ponctuelles, PowerShell vous donne le pouvoir d’automatiser et de gérer les groupes à grande échelle.

Rappelez-vous – les exemples présentés ici ne sont que le début. Les cmdlets AD de PowerShell sont incroyablement puissants et flexibles. Au fur et à mesure que vous vous familiarisez avec ces bases, vous pouvez créer des solutions plus complexes pour répondre aux besoins de votre organisation.

Besoin d’en savoir plus sur PowerShell Active Directory ? Consultez nos autres tutoriels :

Source: https://adamtheautomator.com/powershell-ad-groups-guide/