420-1C5 : Windows – Gestion des groupes

24 septembre 2023


Contenu


Rôle

Les groupes locaux sous Windows permettent d’accorder des accès à plusieurs utilisateurs à la fois aux ressources du système tel que fichiers, dossiers, imprimantes, …

Par exemple, Fred et Lise travaillent sur un projet commun nommé TP01. Les fichiers de ce projet sont dans le dossier C:\TP01.privé.

Il est possible, sous Windows, de créer un groupe nommé TP01, d’y inscrire Fred et Lise comme membres et accorder au groupe TP01 des droits de lecture et écriture au dossier TP01.privé et à personne d’autre.

Il est aussi possible de déterminer, via les groupes, des stratégies d’accès aux fonctionnalités de Windows en utilisant, entre autre, l’application gpedit.msc. Comme par exemple, une stratégie pourrait renseigner qui peut ouvrir une session locale ou bien, changer l’heure du système.


Pré-requis

Avant de débuter ce laboratoire, il faut créer deux comptes utilisateurs:

Pour ce faire, utiliser PowerShell/admin pour y exécuter les commandes suivantes:

PS C:\> New-LocalUser -Name "Tintin"

PS C:\> nlu -Name "Milou"  # Note: Il est possible d'utiliser l'alias 'nlu' pour créer un 'User'

# Voir les alias au bas de ce document. 

Note: À la demande du mot de passe, inscrire ‘password‘.

Voir la documentation


1 – Créer un groupe avec ‘Gestion de l’ordinateur’

Action 1.1 – Lancer l’application de gestion de l’ordinateur

Action 1.2 – Sélectionner l’option ‘Utilisateurs et groupes locaux’ dans le panneau gauche de la fenêtre suivante:

NOTE: Remarquer que Windows propose de base, des groupes prédéfinis.


Action 1.3 – Sélectionner l’option ‘Nouveau groupe’ dans ‘Autres actions’ du panneau droit. Il est aussi possible d’utiliser un clic droit sur le panneau central.

Action 1.4 – Renseigner les détails du nouveau groupe:

Action 1.5 – Ajouter Tintin et Milou à la liste des membres. Il faut séparer le nom des utilisateurs par un point-virgule ‘;’

Et confirmer avec le bouton ‘OK’

Action 1.6 – Confirmer la création du groupe avec le bouton ‘Créer’.

NOTE: Les champs de la fenêtre seront effacés et il sera possible de créer un autre groupe. À cette étape, il faut ‘Fermer’ la fenêtre.

Voilà, le nouveau groupe ‘Les aventures de Tintin’ devrait-être affiché au bas de la liste des groupes:

NOTE: Si les utilisateurs sont connectés, ils devront se reconnecter pour que les modifications soient appliquées.


1.7 – Localiser un utilisateur

Parfois, nous ne connaissons pas exactement la syntaxe d’un nom d’utilisateur, groupe, objet du système, lorsque vient le moment de l’ajouter à une liste.

Il sera alors possible d’afficher la liste des objets.

Par exemple, pour ajouter un utilisateur à un groupe, il est possible d’utiliser le bouton ‘Avancé…‘, suivi du bouton ‘Rechercher‘:

Ce qui affichera la liste de tous les utilisateurs:

Il ne restera plus qu’à sélectionner les utilisateurs requis dans la liste 😉.


2 – Le groupe ‘Utilisateurs’

Lorsqu’un nouveau compte utilisateur est créé à partir des applications de gestion GUI (pas via la ligne de command powershell), ils sont ajoutés automatiquement au groupe ‘Utilisateurs’. Ce groupe est créé à l’installation de Windows.

La description du groupe indique ceci:

Les utilisateurs ne peuvent pas effectuer de modifications accidentelles ou intentionnelles à l’échelle du système ; par ailleurs, ils peuvent exécuter la plupart des applications.

IMPORTANT: De plus, les ‘Utilisateurs’ sont affichés à l’écran de Login.

Au début du laboratoire, nous avons créé les utilisateurs Tintin et Milou à partir du terminal PowerShell, avec la commande ‘New-LocalUser‘. Avec cette technique, les comptes créés ne sont pas ajoutés au groupe ‘Utilisateurs’. Les comptes Tintin et Milou ne seront donc pas affichés sur l’écran de connexion (Login).


LABORATOIRE

Ajouter Tintin et Milou au groupe ‘Utilisateurs‘ et vérifier qu’ils sont affichés à l’écran de connexion.


3 – Créer un groupe avec ‘New-LocalGroup’

Tout comme pour un compte utilisateur, il est possible de créer un groupe local en utilisant le terminal PowerShell et la commande ‘New-LocalGroup‘.

Action 3.1 – En utilisant PowerShell/Admin, créer les deux groupes suivants:

C:\> New-LocalGroup -Name "Le groupe des Pro"

Name              Description
----              -----------
Le groupe des Pro

# Note: Il est aussi possible d'utiliser l'alias 'nlg' pour créer un groupe

C:\>  nlg -Name "Le groupe à Toto"

Name             Description
----             -----------
Le groupe à Toto

Voir la documentation


Action 3.2 – Afficher la liste des groupes locaux, la commande ‘Get-LocalGroup‘ ou ‘glg

PS C:\Windows\system32> Get-LocalGroup

Name                                        Description
----                                        -----------
Le groupe des Pro
Le groupe à Toto
Les aventures de Tintin                     Les merveilleurses aventures de Tintin par Hergé
Administrateurs                             Les membres du groupe Administrateurs disposent d’un accès comp...
Administrateurs Hyper-V                     Les membres de ce groupe disposent d’un accès complet et illimi...
Duplicateurs                                Prend en charge la réplication des fichiers dans le domaine
IIS_IUSRS                                   Groupe intégré utilisé par les services Internet (IIS).
Invités                                     Les membres du groupe Invités disposent par défaut du même accè...
Lecteurs des journaux d’événements          Des membres de ce groupe peuvent lire les journaux des événemen...
Opérateurs d'assistance de contrôle d'accès Les membres de ce groupe peuvent interroger à distance les attr...
Opérateurs de chiffrement                   Les membres sont autorisés à effectuer des opérations de chiffr...
Opérateurs de configuration réseau          Les membres de ce groupe peuvent disposer de certaines autorisa...
Opérateurs de sauvegarde                    Les membres du groupe Opérateurs de sauvegarde peuvent passer o...
Propriétaires d'appareils                   Les membres de ce groupe peuvent modifier les paramètres à l'éc...
System Managed Accounts Group               Les membres de ce groupe sont gérés par le système.
Utilisateurs                                Les utilisateurs ne peuvent pas effectuer de modifications acci...
Utilisateurs avec pouvoir                   Les utilisateurs avec pouvoir sont inclus pour des raisons de c...
Utilisateurs de gestion à distance          Les membres de ce groupe ont accès aux ressources WMI via des p...
Utilisateurs de l’Analyseur de performances Les membres de ce groupe peuvent accéder aux données de compteu...
Utilisateurs du Bureau à distance           Les membres de ce groupe disposent des droits nécessaires pour ...
Utilisateurs du journal de performances     Les membres de ce groupe peuvent planifier la journalisation de...
Utilisateurs du modèle COM distribué        Les membres sont autorisés à lancer, à activer et à utiliser su...

Action 3.3 – Afficher les détails d’un groupe – La commande ‘Get-LocalGroup

PS C:¡\> glg -Name "Utilisateurs"

Name         Description
----         -----------
Utilisateurs Les utilisateurs ne peuvent pas effectuer de modifications accidentelles ou intentionnelles à l’échelle du système ; par ailleurs, ils peuvent exécuter la plupart des appl...

Action 3.4 – Afficher les membres d’un groupe local – La commande ‘Get-LocalGroupMember‘, ‘glgm

C:\> Get-LocalGroupMember -Group "Administrators"

ObjectClass Name                           PrincipalSource
----------- ----                           ---------------
Utilisateur DESKTOP-H8FTBBV\Administrateur Local
Utilisateur DESKTOP-H8FTBBV\Alain          Local
PS C:\> glgm -Group "Les aventures de Tintin"

ObjectClass Name                   PrincipalSource
----------- ----                   ---------------
Utilisateur DESKTOP-H8FTBBV\Milou  Local
Utilisateur DESKTOP-H8FTBBV\Tintin Local

Action 3.5 – Ajouter un utilisateur à un groupe – La commande ‘Add-LocalGroupMember‘, ‘algm

PS C:\> Add-LocalGroupMember -Group Administrateurs -Member Tintin

PS C:\> glgm  -Group "Administrateurs"

ObjectClass Name                           PrincipalSource
----------- ----                           ---------------
Utilisateur DESKTOP-H8FTBBV\Administrateur Local
Utilisateur DESKTOP-H8FTBBV\Alain          Local
Utilisateur DESKTOP-H8FTBBV\Tintin         Local

Action 3.6 – Retirer un utilisateur d’un groupe – La commande ‘Remove-LocalGroupMember‘, ‘rlgm

PS C:\> Remove-LocalGroupMember -Group "Administrateurs" -Member "Tintin"

PS C:\> glgm  -Group "Administrateurs"

ObjectClass Name                           PrincipalSource
----------- ----                           ---------------
Utilisateur DESKTOP-H8FTBBV\Administrateur Local
Utilisateur DESKTOP-H8FTBBV\Alain          Local

Action 3.7 – Modifications en bloc – Suppression

# 1 - Afficher les membres du groupe 'Les aventures de Tintin'
PS C:\> glgm  -Group "Les aventures de Tintin"

ObjectClass Name                   PrincipalSource
----------- ----                   ---------------
Utilisateur DESKTOP-H8FTBBV\Milou  Local
Utilisateur DESKTOP-H8FTBBV\Tintin Local

# 2 - Retirer Tintin et Milou du groupe 
PS C:\> $membres = "Tintin", "Milou"
PS C:\> Remove-LocalGroupMember -Group "Les aventures de Tintin" -Member $membres

# 3 - Afficher les membres du groupe 'Les aventures de Tintin'
PS C:\> glgm  -Group "Les aventures de Tintin"

Note: La liste est vide

Action 3.8 – Modifications en bloc – Ajout

PS C:\Windows\system32> Add-LocalGroupMember -Group "Les aventures de Tintin" -Member $membres

PS C:\Windows\system32> glgm  -Group "Les aventures de Tintin"

ObjectClass Name                   PrincipalSource
----------- ----                   ---------------
Utilisateur DESKTOP-H8FTBBV\Milou  Local
Utilisateur DESKTOP-H8FTBBV\Tintin Local

Action 3.9 – Modifier la description d’un groupe local – ‘Set-LocalGroup

PS C:\> Set-LocalGroup -Name "Les aventures de Tintin" -Description "Pour les 7 à 77 ans..."

PS C:\> glg -name "Les aventures de Tintin"

Name                    Description
----                    -----------
Les aventures de Tintin Pour les 7 à 77 ans...

Action 3.10 – Suppression d’un compte utilisateur – La commande ‘Remove-LocalUser‘, ‘rlu

# Ajouter l'utilisateur Toto
PS C:\Windows\system32> nlu -name "Toto"

applet de commande New-LocalUser à la position 1 du pipeline de la commande
Fournissez des valeurs pour les paramètres suivants :
Password: ********

Name Enabled Description
---- ------- -----------
Toto True

# Afficher la liste des utilisateurs
PS C:\Windows\system32> glu

Name               Enabled Description
----               ------- -----------
Administrateur     False   Compte d’utilisateur d’administration
...
Toto               True


# Supprimer l'utilisateur Toto
PS C:\> rlu "Toto"

4 – Avant goût – Éditeur de stratégie de groupe locale

« L’Éditeur de stratégie de groupe locale est un outil d’administration Windows permettant aux utilisateurs de configurer de nombreux paramètres importants de leurs ordinateurs ou réseaux. Les administrateurs peuvent y configurer les exigences en matière de mot de passe et les programmes de démarrage, mais aussi définir quels sont les applications ou paramètres que les utilisateurs peuvent modifier. Ces paramètres sont nommés Objets de stratégie de groupe (GPO). Les hackers utilisent les GPO pour désactiver Windows Defender. Les administrateurs système les utilisent quant à eux pour gérer les utilisateurs verrouillés. »

Référence


Action 4.1 – Démarrer l’éditeur de stratégie (WIN+R: gpedit.msc)


Action – 4.2 – Vérifier qui peut ouvrir une session locale sur l’ordinateur

NOTE: Ce paramètre explique pourquoi un compte utilisateur apparait sur la fenêtre d’ouverture de session (LOGIN). Il pourrait être accordé individuellement.


5 – Laboratoire

NOTE: Il faut réaliser ce laboratoire dans votre machine virtuelle.


Partie A

À partir de l’application Gestion de l’ordinateur, il faut;


Partie B

NOTE IMPORTANTE: Il faut inscrire les commandes utilisées dans un fichier texte et remettre, via LEA, ce fichier à votre enseignant.

À partir de commandes, New-LocalUser, New-LocalGroup, …, saisies dans un terminal PowerShell, il faut;

FIN DU LABORATOIRE


Annexes

Liste des alias sous PowerShell

NOTE: Les alias ne sont pas disponible dans un terminal de type CMD.

PS C:\Windows\system32> alias

CommandType     Name                                               
-----------     ----                                               
Alias           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           algm -> Add-LocalGroupMember                       
Alias           asnp -> Add-PSSnapin
Alias           cat -> Get-Content
Alias           cd -> Set-Location
Alias           CFS -> ConvertFrom-String                          
Alias           chdir -> Set-Location
Alias           clc -> Clear-Content
Alias           clear -> Clear-Host
Alias           clhy -> Clear-History
Alias           cli -> Clear-Item
Alias           clp -> Clear-ItemProperty
Alias           cls -> Clear-Host
Alias           clv -> Clear-Variable
Alias           cnsn -> Connect-PSSession
Alias           compare -> Compare-Object
Alias           copy -> Copy-Item
Alias           cp -> Copy-Item
Alias           cpi -> Copy-Item
Alias           cpp -> Copy-ItemProperty
Alias           curl -> Invoke-WebRequest
Alias           cvpa -> Convert-Path
Alias           dbp -> Disable-PSBreakpoint
Alias           del -> Remove-Item
Alias           diff -> Compare-Object
Alias           dir -> Get-ChildItem
Alias           dlu -> Disable-LocalUser                           
Alias           dnsn -> Disconnect-PSSession
Alias           ebp -> Enable-PSBreakpoint
Alias           echo -> Write-Output
Alias           elu -> Enable-LocalUser                            
Alias           epal -> Export-Alias
Alias           epcsv -> Export-Csv
Alias           epsn -> Export-PSSession
Alias           erase -> Remove-Item
Alias           etsn -> Enter-PSSession
Alias           exsn -> Exit-PSSession
Alias           fc -> Format-Custom
Alias           fhx -> Format-Hex                                  
Alias           fl -> Format-List
Alias           foreach -> ForEach-Object
Alias           ft -> Format-Table
Alias           fw -> Format-Wide
Alias           gal -> Get-Alias
Alias           gbp -> Get-PSBreakpoint
Alias           gc -> Get-Content
Alias           gci -> Get-ChildItem
Alias           gcm -> Get-Command
Alias           gcs -> Get-PSCallStack
Alias           gdr -> Get-PSDrive
Alias           ghy -> Get-History
Alias           gi -> Get-Item
Alias           gjb -> Get-Job
Alias           gl -> Get-Location
Alias           glg -> Get-LocalGroup                              
Alias           glgm -> Get-LocalGroupMember                       
Alias           glu -> Get-LocalUser                               
Alias           gm -> Get-Member
Alias           gmo -> Get-Module
Alias           gp -> Get-ItemProperty
Alias           gps -> Get-Process
Alias           gpv -> Get-ItemPropertyValue
Alias           group -> Group-Object
Alias           gsn -> Get-PSSession
Alias           gsnp -> Get-PSSnapin
Alias           gsv -> Get-Service
Alias           gu -> Get-Unique
Alias           gv -> Get-Variable
Alias           gwmi -> Get-WmiObject
Alias           h -> Get-History
Alias           history -> Get-History
Alias           icm -> Invoke-Command
Alias           iex -> Invoke-Expression
Alias           ihy -> Invoke-History
Alias           ii -> Invoke-Item
Alias           ipal -> Import-Alias
Alias           ipcsv -> Import-Csv
Alias           ipmo -> Import-Module
Alias           ipsn -> Import-PSSession
Alias           irm -> Invoke-RestMethod
Alias           ise -> powershell_ise.exe
Alias           iwmi -> Invoke-WMIMethod
Alias           iwr -> Invoke-WebRequest
Alias           kill -> Stop-Process
Alias           lp -> Out-Printer
Alias           ls -> Get-ChildItem
Alias           man -> help
Alias           md -> mkdir
Alias           measure -> Measure-Object
Alias           mi -> Move-Item
Alias           mount -> New-PSDrive
Alias           move -> Move-Item
Alias           mp -> Move-ItemProperty
Alias           mv -> Move-Item
Alias           nal -> New-Alias
Alias           ndr -> New-PSDrive
Alias           ni -> New-Item
Alias           nlg -> New-LocalGroup                              
Alias           nlu -> New-LocalUser                               
Alias           nmo -> New-Module
Alias           npssc -> New-PSSessionConfigurationFile
Alias           nsn -> New-PSSession
Alias           nv -> New-Variable
Alias           ogv -> Out-GridView
Alias           oh -> Out-Host
Alias           popd -> Pop-Location
Alias           ps -> Get-Process
Alias           pushd -> Push-Location
Alias           pwd -> Get-Location
Alias           r -> Invoke-History
Alias           rbp -> Remove-PSBreakpoint
Alias           rcjb -> Receive-Job
Alias           rcsn -> Receive-PSSession
Alias           rd -> Remove-Item
Alias           rdr -> Remove-PSDrive
Alias           ren -> Rename-Item
Alias           ri -> Remove-Item
Alias           rjb -> Remove-Job
Alias           rlg -> Remove-LocalGroup                           
Alias           rlgm -> Remove-LocalGroupMember                    
Alias           rlu -> Remove-LocalUser                            
Alias           rm -> Remove-Item
Alias           rmdir -> Remove-Item
Alias           rmo -> Remove-Module
Alias           rni -> Rename-Item
Alias           rnlg -> Rename-LocalGroup                          
Alias           rnlu -> Rename-LocalUser                           
Alias           rnp -> Rename-ItemProperty
Alias           rp -> Remove-ItemProperty
Alias           rsn -> Remove-PSSession
Alias           rsnp -> Remove-PSSnapin
Alias           rujb -> Resume-Job
Alias           rv -> Remove-Variable
Alias           rvpa -> Resolve-Path
Alias           rwmi -> Remove-WMIObject
Alias           sajb -> Start-Job
Alias           sal -> Set-Alias
Alias           saps -> Start-Process
Alias           sasv -> Start-Service
Alias           sbp -> Set-PSBreakpoint
Alias           sc -> Set-Content
Alias           select -> Select-Object
Alias           set -> Set-Variable
Alias           shcm -> Show-Command
Alias           si -> Set-Item
Alias           sl -> Set-Location
Alias           sleep -> Start-Sleep
Alias           slg -> Set-LocalGroup                              
Alias           sls -> Select-String
Alias           slu -> Set-LocalUser                               
Alias           sort -> Sort-Object
Alias           sp -> Set-ItemProperty
Alias           spjb -> Stop-Job
Alias           spps -> Stop-Process
Alias           spsv -> Stop-Service
Alias           start -> Start-Process
Alias           sujb -> Suspend-Job
Alias           sv -> Set-Variable
Alias           swmi -> Set-WMIInstance
Alias           tee -> Tee-Object
Alias           trcm -> Trace-Command
Alias           type -> Get-Content
Alias           wget -> Invoke-WebRequest
Alias           where -> Where-Object
Alias           wjb -> Wait-Job
Alias           write -> Write-Output

FIN DU DOCUMENT

Document rédigé par Alain Boudreault