-
01 - Introduction à Powershell
-
02 - Commandes de base Powershell
-
03 - Navigation dans le système
-
04 - Gestion des utilisateurs locaux
-
05 - Les bases du scripting Powerhshell
-
06 - Gestion des utilisateurs Active Directory
-
07 - Automatisation des taches de gestion utilisateurs
-
08 - Automatisation des processus système
-
09 - Script de maintenance serveur
-
10 - Gestion avancée en PowerShell
-
11 - Formater les sorties des scripts
-
12 - Gestion des fichiers de log
-
13 - Etude de cas - Automatisation de taches courantes
-
14 - Optimisation des scripts et bonnes pratiques
-
16 - Algorithmie et Powershell
-
QCM de fin de parcours
04.4 - Gestion des permissions
4. Gestion des permissions
4.1. Introduction aux ACL (Access Control Lists)
Les ACL définissent les permissions sur les fichiers, dossiers et clés de registre. PowerShell utilise les cmdlets Get-Acl et Set-Acl pour gérer les permissions.
4.2. Afficher les permissions d’un fichier ou dossier
$acl = Get-Acl -Path "C:\Temp\DossierSensible" $acl.Access | Format-Table -AutoSize
4.3. Ajouter une permission pour un utilisateur
$acl = Get-Acl -Path "C:\Temp\DossierSensible"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("BenoitM", "FullControl", "Allow")
$acl.AddAccessRule($rule)
Set-Acl -Path "C:\Temp\DossierSensible" -AclObject $acl
4.4. Supprimer une permission
$acl = Get-Acl -Path "C:\Temp\DossierSensible"
$acl.Access | Where-Object { $_.IdentityReference -eq "DOM\BenoitM" } | ForEach-Object { $acl.RemoveAccessRule($_) }
Set-Acl -Path "C:\Temp\DossierSensible" -AclObject $acl
4.5. Travaux pratiques : Script de gestion des permissions
Objectif : Automatiser l’attribution de permissions sur un dossier partagé.
Script : Appliquer des permissions à un dossier
$folderPath = "C:\Temp\PartageTechnique"
$usersPermissions = @{
"BenoitM" = "FullControl"
"User1" = "ReadAndExecute"
}
foreach ($user in $usersPermissions.Keys) {
$acl = Get-Acl -Path $folderPath
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($user, $usersPermissions[$user], "Allow")
$acl.AddAccessRule($rule)
Set-Acl -Path $folderPath -AclObject $acl
Write-Host "Permission $($usersPermissions[$user]) attribuée à $user sur $folderPath."
}
Les commentaires ne sont pas activés sur ce cours.