Administration Windows Server & Active Directory · Étape 04B

Gère les quotas et alertes de stockage avec FSRM

Limite ou surveille l'usage d'un dossier Windows Server avec FSRM, déclenche des seuils dans le journal d'événements et prouve le comportement sans remplir le disque.

Durée indicative · ~1 h 30Niveau débutantPrérequis conseillé · Leçon 4 — disques, volumes, partages et permissions NTFSPratique · TP
L’idée reçue

« Un serveur qui possède encore beaucoup d’espace disque n’a pas besoin de quota. »

La capacité physique du volume et la quantité d’espace qu’un dossier ou un usage métier est autorisé à consommer sont deux décisions différentes. Un quota permet de surveiller ou de limiter un périmètre avant que l’ensemble du volume ne soit saturé.

01Pars du besoin, pas de la taille du disque

SORIA Distribution héberge le partage de laboratoire suivant :

D:\SORIA\Operations

Le disque peut disposer de plusieurs gigaoctets libres, mais le besoin pédagogique est différent :

surveiller le dossier Operations
fixer une référence de 64 MB pour le laboratoire
alerter à 80 %
alerter à 100 %
observer les événements
ne pas remplir le volume Windows

Commence par l’état réel :

$path = 'D:\SORIA\Operations'

Get-Volume |
  Select-Object DriveLetter, FileSystemLabel, Size, SizeRemaining

Get-ChildItem -Path $path -File -Recurse -ErrorAction SilentlyContinue |
  Measure-Object -Property Length -Sum
Le quota ne remplace pas la supervision du volume. Un dossier peut respecter son quota alors que le disque physique manque malgré tout d’espace, et l’inverse est également possible.

02Comprends quota souple et quota strict

Deux comportements doivent être distingués :

quota souple / soft limit
- mesure l'usage par rapport à une limite
- déclenche les seuils configurés
- n'empêche pas l'écriture au-delà de la limite

quota strict / hard limit
- mesure l'usage
- déclenche les seuils
- refuse les écritures qui feraient dépasser la limite

Pour apprendre sans provoquer inutilement un blocage, le laboratoire commence avec un quota souple.

03Vérifie le rôle FSRM

Dans une VM Windows Server de laboratoire et avec une console élevée :

Get-WindowsFeature FS-Resource-Manager

Si le rôle n’est pas installé :

Install-WindowsFeature FS-Resource-Manager -IncludeManagementTools
Import-Module FileServerResourceManager

Vérifie ensuite les commandes disponibles :

Get-Command -Module FileServerResourceManager |
  Where-Object Name -Match 'FsrmQuota|FsrmAction'

Ne réalise pas cette installation sur un serveur réel sans changement autorisé.

04Crée les actions de notification

Le laboratoire utilise le journal d’événements plutôt qu’un serveur SMTP. Cela rend la preuve locale et reproductible.

$warn80 = New-FsrmAction Event `
  -EventType Warning `
  -Body 'SORIA-Quota-Lab : seuil 80 % atteint.' `
  -RunLimitInterval 1

$warn100 = New-FsrmAction Event `
  -EventType Error `
  -Body 'SORIA-Quota-Lab : seuil 100 % atteint.' `
  -RunLimitInterval 1

Une action seule n’a pas encore de déclencheur. Associe-la à un seuil :

$threshold80 = New-FsrmQuotaThreshold `
  -Percentage 80 `
  -Action $warn80

$threshold100 = New-FsrmQuotaThreshold `
  -Percentage 100 `
  -Action $warn100

05Crée un quota souple de laboratoire

Vérifie que le dossier existe puis crée la politique :

New-Item -ItemType Directory -Path $path -Force | Out-Null

New-FsrmQuota `
  -Path $path `
  -Size 64MB `
  -SoftLimit `
  -Threshold @($threshold80, $threshold100) `
  -Description 'SORIA Lab - quota Operations'

Observe l’objet créé :

Get-FsrmQuota -Path $path |
  Select-Object Path, Size, Usage, SoftLimit, Disabled
La limite de 64 MB est volontairement petite uniquement pour le laboratoire. Un seuil de production doit venir d’un besoin de capacité et d’exploitation, pas d’un nombre copié depuis un exercice.

06Déclenche le seuil de 80 % sans remplir le disque

Conserve l’heure de début :

$start = Get-Date

Crée un fichier de test d’environ 55 MB :

fsutil file createnew "$path\quota-80.bin" 57671680

Puis relis le quota :

Get-FsrmQuota -Path $path |
  Select-Object Path, Size, Usage, SoftLimit

Recherche la notification :

Get-WinEvent -FilterHashtable @{
  LogName      = 'Application'
  ProviderName = 'SRMSVC'
  StartTime    = $start
} | Where-Object Message -Match 'SORIA-Quota-Lab' |
  Select-Object TimeCreated, Id, LevelDisplayName, ProviderName, Message

Le bon raisonnement relie trois preuves :

usage du quota
+
franchissement du seuil
+
événement SRMSVC correspondant

07Observe le dépassement d’un quota souple

Ajoute un second fichier de 16 MB :

fsutil file createnew "$path\quota-extra.bin" 16777216

L’usage total dépasse maintenant la référence de 64 MB. Vérifie :

Get-FsrmQuota -Path $path |
  Select-Object Path, Size, Usage, SoftLimit

Get-WinEvent -FilterHashtable @{
  LogName      = 'Application'
  ProviderName = 'SRMSVC'
  StartTime    = $start
} | Where-Object Message -Match 'SORIA-Quota-Lab' |
  Select-Object TimeCreated, Id, LevelDisplayName, Message
L’écriture reste possible parce que la limite est souple. C’est précisément la différence à démontrer : dépasser la valeur de référence n’implique pas un blocage tant que le quota n’est pas strict.

08Ne confonds pas alerte et preuve de saturation

Une notification à 80 % ne prouve pas que :

le disque physique est presque plein
le partage SMB est inaccessible
l'utilisateur a perdu ses permissions
le serveur rencontre une panne

Elle prouve seulement qu’un périmètre FSRM a franchi le seuil configuré.

Complète donc toujours la preuve avec le contexte :

Get-Volume |
  Select-Object DriveLetter, Size, SizeRemaining

Get-FsrmQuota -Path $path |
  Select-Object Path, Size, Usage, SoftLimit

Get-Acl $path | Format-List

09Teste le retour à la normale

Supprime uniquement les fichiers de laboratoire :

Remove-Item "$path\quota-80.bin" -Force
Remove-Item "$path\quota-extra.bin" -Force

Vérifie que l’usage retombe :

Get-FsrmQuota -Path $path |
  Select-Object Path, Size, Usage, SoftLimit

Le retour sous un seuil fait partie du cycle de validation. Une alerte n’est pas terminée uniquement parce que l’administrateur l’a lue.

10Nettoie la politique de laboratoire

Après conservation des preuves :

Remove-FsrmQuota -Path $path -Confirm:$false

Confirme l’absence de quota :

Get-FsrmQuota -Path $path -ErrorAction SilentlyContinue

Ne désinstalle pas automatiquement FSRM : le rôle peut être utilisé par d’autres exercices de la VM. Le rollback de ce laboratoire concerne la politique créée et les fichiers de test.

11Challenge autonome — passe d’observer à faire respecter

Dans une VM avec snapshot, transforme le scénario en quota strict :

1. recrée une limite de 64 MB sans SoftLimit ;
2. conserve au moins un seuil de notification ;
3. remplis progressivement le dossier avec des fichiers de test ;
4. démontre l'écriture qui réussit avant la limite ;
5. démontre l'écriture refusée lorsque la limite serait dépassée ;
6. retrouve l'événement FSRM ;
7. nettoie les fichiers et la politique ;
8. explique pourquoi augmenter arbitrairement le quota n'est pas une remédiation professionnelle.
Preuve d’exploitation

Prouve le seuil, pas seulement la commande

Conserve l’état initial, la définition du quota, l’usage avant et après franchissement, l’événement SRMSVC et le retour à un état propre. Ajoute une limite explicite : ce laboratoire prouve le comportement du quota sur un dossier, pas la capacité globale du serveur.

✓À retenir

FSRM permet de contrôler la consommation d’un dossier indépendamment de l’espace libre du volume. Un quota souple observe et alerte ; un quota strict peut bloquer le dépassement. Une administration fiable associe limite, seuil, événement, test et rollback.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.