Quota sur un disque complet pour un utilisateur

Préférer les quotas sur les chemins

Les quotas sur les disques ne sont plus très commun, sauf si cela est explicitement demandé il est préférable de faire des quotas sur les chemins de fichiers à la place.

Faire cela nécessite toute fois que les permissions ACL soit bien réglées afin que l’utilisateur·ice ne puisse pas écrire à d’autres endroit que le(s) dossier(s) qui lui sont réservé.

Créer un quota pour un·e utilisateur·ice sur un disque (dans cet exemple un quota de 1G, un avertissement de 900M sur le disque C: pour powerswila)

fsutil quota modify C: 900000000 1000000000 powerswila

Sous powershell cette comande peut être préfixée par & afin de pouvoir l’exécuter car fsutil est un programme et non pas une commande powershell

$resultat = &"fsutil" "quota" "modify" "C:" "900000000" "1000000000" "powerswila"

Quota sur un chemin de fichier

Pour céer des quotas sur un chemin il faut créer un template de quota

New-FsrmQuotaTemplate -Name "1GB limit" -Description "limit usage to 1 GB." -Size 1GB

Définir une action lorsqu'une seuil du quota est atteinte

Il est également possible de configurer des actions spécifiques lorsqu’un threshold (%) est atteint. Cette action peut par exemple être une extension du quota si on le souhaite

$Action = New-FsrmAction -Type Command -Command "c:\windows\system32\cmd.exe" -CommandParameters "echo [source file path] >> c:\log.txt" -ShouldLogError
$Threshold = New-FsrmQuotaThreshold -Percentage 90 -Action $action
New-FsrmQuotaTemplate -Name "128MB limit" -Size 128MB -Threshold $Threshold -SoftLimit

Ensuite pour appliquer ce template à un chemin

New-FsrmQuota -Path "C:\testQuota" -Template "1GB limit"

Il est également possible d’appliquer un quota automatique, ce dernier appliquera un quota non pas sur le dossier lui-même mais sur tous ses sous-dossiers présents ou futurs. Ceci est particulièrement pratiqe lorsque l’on veut définir des quotas pour chaque utilisateur·ice·s (on met un quota automatique sur le dossier des utilisateur·ice·s)

New-FsrmAutoQuota -Path "C:\testQuota" -Template "1GB limit"