Gestion des droits d'accès sous Windows
# **Gestion des droits via cmd
**
## afficher des droits d’un dossier / fichier
```cmd
icacls
```
- exemple:
```cmd
icacls F:\Téléchargement
```
---
## ajouter des droits à un dossier / fichier
```cmd
icacls /grant : (droits à ajouter)
```
- exemple:
```cmd
icacls F:\Téléchargement /grant Administrator:(D,RX)
```
>liste des droits:
> N - no access
> F - full access
> M - modify access
> RX - read and execute access
> R - read-only access
> W - write-only access
> D - delete access
---
## ajouter des interdictions à un dossier / fichier
```cmd
icacls /deny : (interdiction à ajouter)
```
- exemple:
```cmd
icacls F:\Téléchargement /deny Frederic:(D,RX)
```
### liste des droits utilisables:
| Code | Droits d'accès correspondant |
| ---- | ---------------------------- |
| N | no access |
| F | full access |
| M | modify access |
| RX | read and execute access |
| R | read-only access |
| W | write-only access |
| D | delete access |
---
# **Gestion des droits via Powershell
**
## afficher des droits d’un dossier / fichier
```powershell
Get-Acl
```
- exemple
```powershell
Get-Acl m:\2022
```
## copier des droits d’un dossier / fichier sur un autre
```powershell
Get-acl -Path |Set-Acl -Path
```
- exemple:
```powershell
Get-Acl -Path "C:\Dog.txt" | Set-Acl -Path "C:\Cat.txt"
```
## Gérer les droit (ACL)
- prérequis: installation du module powershell ntfssecurity
```powershell
Install-Module NTFSSecurity
```
### Ajouter des droits
```powershell
Add-NTFSAccess -Path "dossier_cible" -AccessRight "type_de_droits" -Account "groupe_de_domaine_local_souhaité"
```
### lister les droits
```powershell
Get-NTFSAccess "dossier_cible" |format-Table -Wrap
```
### liste des droits utilisables:
| AppendData | GenericAll | Read | Synchronize |
| ChangePermissions | GenericExecute | ReadAndExecute | TakeOwnership |
| CreateFiles | GenericRead | ReadAttributes | Traverse |
| Delete | GenericWrite | ReadData | Write |
| DeleteSubdirectoriesAndFiles | Modify | ReadExtendedAttributes | WriteAttributes |
| FullControl | None | ReadPermissions | WriteExtendedAttributes |