Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 320 minIntermédiaire

Utilisateurs, groupes et stratégie AGDLP

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • créer et gérer des comptes, un par un ou en masse depuis un CSV ;
  • choisir le type et l'étendue d'un groupe ;
  • concevoir les groupes d'une organisation avec la méthode AGDLP ;
  • déléguer une tâche d'administration sur une OU.

4 exercices corrigés1 schéma

Dans Active Directory, chaque personne a un compte utilisateur et les droits ne se donnent pas aux comptes mais à des groupes. La stratégie AGDLP (comptes, groupes globaux, groupes de domaine local, permissions) est la méthode recommandée par Microsoft pour organiser ces groupes. Ce chapitre montre comment créer et gérer les comptes, à la main et en masse, explique les types et les étendues de groupes, puis applique AGDLP aux partages de Sorbier.

Les identifiants d'un compte utilisateur

Un compte utilisateur porte plusieurs noms, qui ne servent pas au même endroit.

IdentifiantExempleÀ quoi il sert
Nom d'ouverture de session (sAMAccountName)jlefevreConnexion sous la forme SORBIER\jlefevre ; 20 caractères au maximum
Nom d'utilisateur principal (UPN)jlefevre@ad.sorbier.exampleConnexion sous la forme d'une adresse ; souvent aligné sur l'adresse de messagerie quand l'annuaire est synchronisé avec le cloud (chapitre 17)
Nom distinctif (DN)CN=Julie Lefèvre,OU=Comptabilite,OU=Utilisateurs,OU=Sorbier,DC=ad,DC=sorbier,DC=exampleL'emplacement exact de l'objet dans l'annuaire, utilisé par les scripts et LDAP
Identificateur de sécurité (SID)S-1-5-21-…-1104L'identité réelle du compte : c'est lui qu'on trouve dans les listes d'autorisations des dossiers
GUID d'objet5f1a…Identifiant unique et immuable de l'objet dans l'annuaire

Le SID est composé de l'identifiant du domaine et d'un numéro relatif (RID) propre au compte. Il n'est jamais réutilisé : si tu supprimes le compte de Julie et que tu en recrées un avec le même nom, le nouveau compte a un autre SID et n'a plus aucun des droits de l'ancien. C'est pourquoi, au départ d'un salarié, on désactive le compte avant de le supprimer.

La convention de nommage. Elle doit être écrite et appliquée par tous. La plus courante : initiale du prénom et nom, en minuscules, sans accents ni espaces (jlefevre, kmorel). Prévois les homonymes (jlefevre2, ou deux lettres du prénom julefevre) et les comptes particuliers : adm0-amercier pour le compte d'administration du domaine d'Antoine Mercier (le chiffre désigne le niveau, voir le modèle en tiers), distinct de son compte de tous les jours, svc-sauvegarde pour un compte de service.

Au-delà des identifiants, renseigne les attributs utiles : service (department), fonction (title), responsable (manager), téléphone, bureau. Ils servent aux recherches, aux annuaires d'entreprise, aux filtres de GPO et aux scripts (« tous les comptes du service Comptabilité »).

Créer un compte utilisateur

Avec la console Utilisateurs et ordinateurs Active Directory (dsa.msc). Clic droit sur l'OU Comptabilite > Nouveau > Utilisateur : prénom, nom, nom d'ouverture de session ; puis un mot de passe initial et les options :

  • L'utilisateur doit changer le mot de passe à la prochaine ouverture de session : coche-la toujours pour un mot de passe initial, que le technicien connaît ;
  • Le mot de passe n'expire jamais : réservée à des cas justifiés, jamais pour un compte de personne ;
  • Le compte est désactivé : utile pour préparer un compte quelques jours avant l'arrivée.

Pour créer plusieurs comptes semblables, prépare un compte modèle désactivé (_modele-compta) avec les groupes, l'OU et les attributs communs, puis Copier : le nouveau compte hérite des appartenances aux groupes et de certains attributs, pas du mot de passe.

Le Centre d'administration Active Directory (dsac.exe) fait la même chose dans une interface plus récente, et affiche en bas la commande PowerShell équivalente à chaque action (Historique de Windows PowerShell) : un excellent moyen d'apprendre les cmdlets.

En PowerShell, avec le module ActiveDirectory (installé avec les outils AD DS ou RSAT) :

powershell
New-ADUser -Name "Julie Lefèvre" -GivenName "Julie" -Surname "Lefèvre" `
    -SamAccountName "jlefevre" -UserPrincipalName "jlefevre@ad.sorbier.example" `
    -Path "OU=Comptabilite,OU=Utilisateurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example" `
    -Department "Comptabilité" -Title "Comptable" `
    -AccountPassword (Read-Host -AsSecureString "Mot de passe initial") `
    -ChangePasswordAtLogon $true -Enabled $true

Read-Host -AsSecureString demande le mot de passe sans l'afficher ni le laisser dans l'historique. Sans -AccountPassword, le compte est créé sans mot de passe et ne peut pas être activé.

Créer des comptes en masse depuis un fichier CSV

À la rentrée d'une école ou à l'ouverture d'une agence, on crée des dizaines de comptes d'un coup à partir d'un tableau. Le fichier arrivees.csv, enregistré en UTF-8 avec des points-virgules :

text
Prenom;Nom;Service;Fonction
Paul;Martin;Comptabilite;Comptable
Inès;Roux;Commercial;Commerciale
Lucas;Girard;Logistique;Préparateur
Élise;Bérard;Commercial;Commerciale

Le script construit le login, vérifie qu'il n'existe pas déjà, génère un mot de passe initial et note les comptes créés dans un fichier à remettre de façon sécurisée :

powershell
$base   = "OU=Utilisateurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example"
$alpha  = 'ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789!?#%+'
$bilan  = @()

Import-Csv -Path ".\arrivees.csv" -Delimiter ";" -Encoding UTF8 | ForEach-Object {
    # Login : initiale du prénom + nom, en minuscules, sans accents ni espaces
    $brut  = ($_.Prenom.Substring(0,1) + $_.Nom).ToLower()
    $login = ($brut.Normalize('FormD') -replace '\p{Mn}', '') -replace '[^a-z0-9]', ''

    if (Get-ADUser -Filter "SamAccountName -eq '$login'") {
        Write-Warning "$login existe déjà : compte non créé"
        return
    }

    $mdp = -join (1..16 | ForEach-Object { $alpha[(Get-Random -Maximum $alpha.Length)] })

    New-ADUser -Name "$($_.Prenom) $($_.Nom)" -GivenName $_.Prenom -Surname $_.Nom `
        -SamAccountName $login -UserPrincipalName "$login@ad.sorbier.example" `
        -Path "OU=$($_.Service),$base" -Title $_.Fonction `
        -AccountPassword (ConvertTo-SecureString $mdp -AsPlainText -Force) `
        -ChangePasswordAtLogon $true -Enabled $true

    $bilan += [pscustomobject]@{ Login = $login; MotDePasseInitial = $mdp }
}

$bilan | Export-Csv ".\comptes-crees.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8

Trois détails qui font la différence. Normalize('FormD') décompose les lettres accentuées (è devient e suivi d'un accent), et -replace '\p{Mn}', '' supprime les accents : « Élise Bérard » donne eberard, et « Julie Lefèvre » donnerait jlefevre. Le return dans ForEach-Object passe à la ligne suivante du CSV sans arrêter le script. Enfin, Get-Random n'est pas un générateur cryptographique : il convient pour un mot de passe initial à usage unique, que l'utilisateur doit changer à la première connexion, pas pour des secrets durables. Le fichier comptes-crees.csv contient des mots de passe : il se transmet par un canal sûr et se supprime ensuite.

Le cycle de vie d'un compte : arrivée, mutation, départ

Un compte suit la vie de la personne. Les incidents de sécurité naissent souvent dans les transitions mal gérées.

ÉvénementCe que fait le technicien
ArrivéeCréer le compte dans l'OU du service, l'ajouter au groupe global de sa fonction, forcer le changement de mot de passe, fixer une date d'expiration pour un stagiaire ou un CDD (-AccountExpirationDate)
MutationChanger d'OU et d'attributs, retirer les groupes de l'ancienne fonction avant d'ajouter ceux de la nouvelle
Absence longueDésactiver le compte, le réactiver au retour
DépartDésactiver le compte le jour du départ, retirer ses groupes, le déplacer dans une OU Departs, puis le supprimer après la durée fixée par la politique (90 jours, par exemple), une fois ses données récupérées
powershell
# Départ de Lucas Girard
Disable-ADAccount -Identity "lgirard"
Get-ADUser "lgirard" -Properties MemberOf | Select-Object -ExpandProperty MemberOf |
    ForEach-Object { Remove-ADGroupMember -Identity $_ -Members "lgirard" -Confirm:$false }
Get-ADUser "lgirard" | Move-ADObject -TargetPath "OU=Departs,OU=Sorbier,DC=ad,DC=sorbier,DC=example"

# Comptes qui ne se sont pas connectés depuis 90 jours
Search-ADAccount -AccountInactive -UsersOnly -TimeSpan 90.00:00:00 |
    Select-Object Name, SamAccountName, LastLogonDate

# Comptes verrouillés, et déverrouillage
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName
Unlock-ADAccount -Identity "jlefevre"

La revue régulière des comptes et des droits, et la matrice d'habilitations qui la guide, sont traitées dans le chapitre Matrice d'habilitations du cours Authentification.

Les groupes : type et étendue

Un groupe Active Directory a deux caractéristiques indépendantes.

Le type.

  • Groupe de sécurité : il a un SID, il peut recevoir des permissions sur des dossiers, des imprimantes ou des GPO. C'est celui qu'on utilise pour les droits.
  • Groupe de distribution : une liste de diffusion pour la messagerie, sans SID utilisable pour les permissions.

L'étendue, qui dit qui peut en être membre et où il peut servir.

ÉtenduePeut contenir (forêt à un domaine)Peut recevoir des permissionsUsage dans AGDLP
Domaine localComptes, groupes globaux, groupes universels, autres groupes de domaine local du même domaine ; comptes et groupes globaux d'autres domaines de la forêtSur les ressources de son domaine seulementReprésente un droit sur une ressource : DL_Compta_M
GlobaleComptes et groupes globaux de son domaineSur les ressources de tous les domaines de la forêt et des domaines approuvésReprésente une fonction : GG_Comptables
UniverselleComptes, groupes globaux et universels de toute la forêtPartout dans la forêtRegroupe des groupes globaux de plusieurs domaines

Les groupes locaux des postes et des serveurs membres (« Administrateurs » d'un poste, « Utilisateurs du Bureau à distance » d'un serveur) sont une quatrième sorte, stockée sur la machine elle-même et non dans l'annuaire (comptes, droits et UAC).

Le domaine contient aussi des groupes par défaut à connaître : Admins du domaine (administrateurs de tout le domaine, membres du groupe Administrateurs de chaque machine jointe), Administrateurs de l'entreprise et Administrateurs du schéma (niveau de la forêt, à laisser vides en temps normal), Utilisateurs du domaine et Ordinateurs du domaine (tous les comptes et toutes les machines), Opérateurs de compte, Opérateurs de sauvegarde, Opérateurs de serveur (groupes intégrés trop puissants, à laisser vides : on délègue plutôt finement).

La stratégie AGDLP

Donner les permissions directement aux comptes paraît plus simple, jusqu'au premier départ ou à la première mutation : il faut alors retrouver tous les dossiers où le compte apparaît. AGDLP organise les droits en quatre étages.

  1. A, les comptes (accounts) des utilisateurs…
  2. … sont membres de G, des groupes globaux qui représentent une fonction dans l'organisation : GG_Comptables, GG_Direction ;
  3. ces groupes globaux sont membres de DL, des groupes de domaine local qui représentent un droit sur une ressource : DL_Compta_M (modification sur le partage Compta), DL_Compta_L (lecture) ;
  4. seuls les groupes de domaine local reçoivent les P, les permissions NTFS sur la ressource.
Comptes (A)Groupes globaux (G)Domaine local (DL)Permissions (P)Julie LefèvrePaul MartinKarim MorelHélène GarnierGG_ComptablesGG_Resp_ComptableGG_DirectionDL_Compta_MDL_Compta_LModificationLecture etexécutionSeuls les groupes DL figurent dans les autorisations NTFS de D:\Partages\Compta
AGDLP : les comptes dans des groupes de fonction, ces groupes dans des groupes de droits, et seuls ces derniers dans les autorisations du dossier

Ce qu'on y gagne. Quand Paul Martin arrive à la comptabilité, on l'ajoute à GG_Comptables : il obtient d'un coup tous les droits de la fonction, sur tous les partages, sans qu'on touche à une seule liste d'autorisations. Quand la direction doit pouvoir lire le partage Commercial, on ajoute GG_Direction à DL_Commercial_L : une manipulation, au lieu d'ajouter chaque directeur sur le dossier. Et pour savoir qui a accès à quoi, on lit les appartenances aux groupes, un travail que les outils d'audit savent faire.

La convention de nommage des groupes. Un préfixe pour l'étendue, un nom de fonction ou de ressource, un suffixe pour le droit :

Préfixe ou suffixeSensExemple
GG_Groupe global, une fonctionGG_Commerciaux
DL_ (ou GDL_)Groupe de domaine local, un droit sur une ressourceDL_Commercial_M
GU_Groupe universelGU_Comptables_Groupe
_L, _M, _CTLecture, Modification, Contrôle totalDL_Paie_L

Peu importe la convention exacte, du moment qu'elle est écrite et respectée : à l'examen comme en entreprise, des noms comme groupe1 ou compta-new sont une faute.

Les variantes. Avec plusieurs domaines dans la forêt, on intercale des groupes universels : AGUDLP (comptes, groupes globaux, groupes universels, groupes de domaine local, permissions). Sur un serveur membre isolé ou pour un droit local (ouvrir une session de bureau à distance sur un serveur), on place le groupe global dans un groupe local de la machine : AGLP.

Mettre en œuvre AGDLP en PowerShell

Pour le partage Compta de Sorbier : les comptables le modifient, le responsable comptable aussi, la direction le lit.

powershell
$ou = "OU=Groupes,OU=Sorbier,DC=ad,DC=sorbier,DC=example"

# G : les groupes globaux, par fonction
New-ADGroup -Name "GG_Comptables"      -GroupScope Global -GroupCategory Security -Path $ou
New-ADGroup -Name "GG_Resp_Comptable"  -GroupScope Global -GroupCategory Security -Path $ou
New-ADGroup -Name "GG_Direction"       -GroupScope Global -GroupCategory Security -Path $ou

# DL : les groupes de domaine local, par droit sur la ressource
New-ADGroup -Name "DL_Compta_M" -GroupScope DomainLocal -GroupCategory Security -Path $ou `
    -Description "Modification sur \\srv-fichiers\Compta"
New-ADGroup -Name "DL_Compta_L" -GroupScope DomainLocal -GroupCategory Security -Path $ou `
    -Description "Lecture sur \\srv-fichiers\Compta"

# A dans G
Add-ADGroupMember -Identity "GG_Comptables"     -Members "jlefevre", "pmartin"
Add-ADGroupMember -Identity "GG_Resp_Comptable" -Members "kmorel"
Add-ADGroupMember -Identity "GG_Direction"      -Members "hgarnier"

# G dans DL
Add-ADGroupMember -Identity "DL_Compta_M" -Members "GG_Comptables", "GG_Resp_Comptable"
Add-ADGroupMember -Identity "DL_Compta_L" -Members "GG_Direction"

# Vérifier : qui est réellement dans DL_Compta_M, en dépliant les groupes imbriqués
Get-ADGroupMember -Identity "DL_Compta_M" -Recursive | Select-Object Name, SamAccountName

Reste le P : donner à DL_Compta_M la permission Modification et à DL_Compta_L la permission Lecture sur D:\Partages\Compta, ce que montre le chapitre 7. Mets une description à chaque groupe de domaine local : dans un an, elle dira à ton successeur à quoi il sert.

Déléguer l'administration d'une OU

Chloé Lambert, technicienne de niveau 1, doit pouvoir réinitialiser les mots de passe et déverrouiller les comptes des salariés, sans être administratrice du domaine. On applique le principe du moindre privilège avec l'Assistant Délégation de contrôle :

  1. dans dsa.msc, clic droit sur l'OU Utilisateurs > Délégation de contrôle ;
  2. ajouter le groupe GG_Support_N1 (toujours un groupe, jamais un compte) ;
  3. cocher la tâche Réinitialiser les mots de passe utilisateur et forcer le changement de mot de passe lors de la prochaine ouverture de session ;
  4. valider.

La délégation ajoute des entrées dans les autorisations de l'OU, héritées par les comptes qu'elle contient. Elle ne s'applique pas aux comptes protégés (membres des groupes d'administration), dont les autorisations sont réinitialisées régulièrement par un mécanisme de l'annuaire (AdminSDHolder) : un technicien délégué ne peut donc pas réinitialiser le mot de passe d'un administrateur du domaine, et c'est voulu. L'onglet Sécurité des propriétés de l'OU (avec Affichage > Fonctionnalités avancées activé dans la console) montre ce qui a été délégué.

Les comptes d'ordinateurs

Chaque machine jointe au domaine a un compte, de nom PC-COMPTA-01$ (le $ final distingue les comptes d'ordinateurs). On peut le pré-créer dans la bonne OU avant la jonction, et désigner qui a le droit de joindre la machine :

powershell
New-ADComputer -Name "PC-COMPTA-03" -Path "OU=Postes-fixes,OU=Ordinateurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example"

# Ordinateurs qui ne se sont pas manifestés depuis 90 jours : à vérifier avant de les désactiver
Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan 90.00:00:00 | Select-Object Name, LastLogonDate

Un poste réformé doit voir son compte désactivé puis supprimé : un compte d'ordinateur oublié reste un compte valide du domaine.

Exercices

Exercice 1 sur 4 Concevoir les groupes avec AGDLP Réussi À revoir

Antoine Mercier te confie la matrice d'habilitations des partages de srv-fichiers :

Fonction (membres)ComptaPaieCommercialDirection
Direction (Hélène Garnier)LectureLectureLectureModification
Comptables (Julie Lefèvre, Paul Martin)Modificationaucunaucunaucun
Responsable comptable (Karim Morel)ModificationModificationaucunaucun
Commerciaux (Sofiane Benali, Inès Roux)aucunaucunModificationaucun
Logisticiens (Lucas Girard)aucunaucunLectureaucun
  1. Liste les groupes globaux et leurs membres.
  2. Liste les groupes de domaine local nécessaires, en ne créant que ceux qui servent.
  3. Donne les imbrications (quel groupe global dans quel groupe de domaine local).
  4. Donne les permissions NTFS de chaque dossier.
  5. Une nouvelle commerciale, Léa Fontaine, arrive. Que fais-tu, et que ne fais-tu pas ?
Voir la réponseMasquer la réponse de l'exercice 1
  1. Cinq groupes globaux, un par fonction : GG_Direction (hgarnier), GG_Comptables (jlefevre, pmartin), GG_Resp_Comptable (kmorel), GG_Commerciaux (sbenali, iroux), GG_Logisticiens (lgirard).

  2. Sept groupes de domaine local, un par couple ressource et droit réellement utilisé : DL_Compta_M, DL_Compta_L, DL_Paie_M, DL_Paie_L, DL_Commercial_M, DL_Commercial_L, DL_Direction_M. Pas de DL_Direction_L : personne n'a la lecture seule sur ce partage.

  3. Les imbrications :

    Groupe globalMembre de
    GG_DirectionDL_Compta_L, DL_Paie_L, DL_Commercial_L, DL_Direction_M
    GG_ComptablesDL_Compta_M
    GG_Resp_ComptableDL_Compta_M, DL_Paie_M
    GG_CommerciauxDL_Commercial_M
    GG_LogisticiensDL_Commercial_L
  4. Sur Compta : DL_Compta_M en Modification, DL_Compta_L en Lecture et exécution. Sur Paie : DL_Paie_M en Modification, DL_Paie_L en Lecture et exécution. Sur Commercial : DL_Commercial_M en Modification, DL_Commercial_L en Lecture et exécution. Sur Direction : DL_Direction_M en Modification. Plus, sur chaque dossier, Contrôle total pour les administrateurs et le système. Aucun compte utilisateur n'apparaît dans les autorisations.

  5. On crée son compte dans l'OU Commercial et on l'ajoute à GG_Commerciaux, c'est tout : elle obtient la modification sur le partage Commercial par l'imbrication. On ne touche à aucune autorisation de dossier et on ne l'ajoute à aucun groupe de domaine local.

Tu avais trouvé ?

Exercice 2 sur 4 Imbrications autorisées ou non Réussi À revoir

Dans une forêt à un seul domaine, dis si chaque opération est possible et si elle respecte AGDLP.

  1. Ajouter le compte jlefevre au groupe DL_Compta_M.
  2. Ajouter le groupe DL_Compta_L au groupe GG_Direction.
  3. Ajouter le groupe GG_Comptables au groupe GG_Finance, un autre groupe global.
  4. Donner la permission Lecture au groupe GG_Direction directement sur le dossier Paie.
Voir la réponseMasquer la réponse de l'exercice 2
  1. Possible (un groupe de domaine local accepte des comptes), mais contraire à AGDLP : le compte doit passer par le groupe global de sa fonction.
  2. Impossible : un groupe global ne peut contenir que des comptes et des groupes globaux de son domaine, pas un groupe de domaine local. C'est l'inverse qu'il faut faire.
  3. Possible : un groupe global peut contenir un autre groupe global du même domaine. C'est utile pour regrouper des fonctions (GG_Finance contient les comptables et le responsable comptable), à condition de rester lisible.
  4. Possible techniquement, mais contraire à AGDLP : les permissions vont uniquement aux groupes de domaine local. Ici, on ajoute GG_Direction à DL_Paie_L.

Tu avais trouvé ?

Exercice 3 sur 4 L'accès qui ne marche pas Réussi À revoir

Karim Morel vient d'être ajouté au groupe GG_Resp_Comptable pour accéder au partage Paie. Il est connecté depuis ce matin et reçoit toujours « Accès refusé ». Les autorisations du dossier sont correctes et Get-ADGroupMember DL_Paie_M -Recursive le liste bien. Explique et donne la solution.

Voir la réponseMasquer la réponse de l'exercice 3

Les groupes de Karim sont inscrits dans son jeton d'ouverture de session et dans ses tickets Kerberos, obtenus ce matin, avant son ajout au groupe. Son poste présente donc encore l'ancienne liste de groupes au serveur de fichiers. Il doit fermer sa session et la rouvrir (ou, pour les seuls accès réseau, vider ses tickets avec klist purge puis rouvrir le partage). Ensuite, whoami /groups doit afficher SORBIER\DL_Paie_M.

Tu avais trouvé ?

Exercice 4 sur 4 Corriger le script de création Réussi À revoir

Ce script doit créer les comptes de arrivees.csv (colonnes Prenom;Nom;Service), mais il échoue. Trouve les trois erreurs.

powershell
Import-Csv ".\arrivees.csv" | ForEach-Object {
    $login = ($_.Prenom.Substring(0,1) + $_.Nom).ToLower()
    New-ADUser -Name "$_.Prenom $_.Nom" -SamAccountName $login `
        -Path "OU=$($_.Service),OU=Utilisateurs,OU=Sorbier,DC=ad,DC=sorbier,DC=example" -Enabled $true
}
Voir la réponseMasquer la réponse de l'exercice 4
  1. Le séparateur : sans -Delimiter ";", Import-Csv attend des virgules et lit chaque ligne comme une seule colonne ; $_.Prenom est vide et Substring échoue.
  2. Le nom : dans une chaîne, "$_.Prenom" insère l'objet entier $_ suivi du texte .Prenom. Il faut une sous-expression : "$($_.Prenom) $($_.Nom)".
  3. Le mot de passe : sans -AccountPassword, le compte ne peut pas être activé et -Enabled $true provoque une erreur (le compte est créé désactivé, ou refusé si la politique de mot de passe l'exige). Il faut fournir un mot de passe initial et -ChangePasswordAtLogon $true.

On peut aussi signaler l'absence de suppression des accents dans le login et de vérification des doublons.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : GPO : créer, lier et appliquer une stratégie de groupeRevoir le sommaire du cours