# Tuto pas à pas Mission 4 : Construire, partager et inventorier le stockage

> TP fil rouge SupportLab — À réaliser seul, jalon par jalon. Remplacez partout xx par vos initiales (ex. PC-STOCKAGE-jd).

*Windows · Intermédiaire · 8 min · 06/08/2026*

---
> **TP fil rouge SupportLab** — À réaliser seul, jalon par jalon. Remplacez partout `xx` par vos initiales (ex. `PC-STOCKAGE-jd`).

---

## Vue d'ensemble

```mermaid
flowchart LR
    T[PC-TECH-xx<br/>192.168.76.11/24] -- SMB --> S[PC-STOCKAGE-xx<br/>192.168.76.12/24]
    S --> V[Volume S:<br/>SupportLab]
    T -- GLPI Agent --> G[helpdesk.julientoutain.fr]
    S -- GLPI Agent --> G
    T -- NAT --> I[Internet]
    S -- NAT --> I
```

```mermaid
flowchart LR
    A[Jalon 0 : Vérifications préalables] --> B[Jalon 1 : Volume miroir S:]
    B --> C[Jalon 2 : Arborescence SupportLab]
    C --> D[Jalon 3 : Permissions NTFS]
    D --> E[Jalon 4 : Partage SMB + tests d'accès]
    E --> F[Inventaire GLPI]
    F --> G[Recette de sortie + livrable]
```

**Règle d'or :** ne passez jamais au jalon suivant tant que le test de validation du jalon en cours n'est pas réussi.

**Règles à respecter dans tout le TP :**

-   Aucun vrai mot de passe dans les livrables.
-   Aucune permission explicite `Refuser` (DENY).
-   Ne jamais présenter le miroir comme une sauvegarde.
-   Chaque jalon produit une preuve courte (capture ou sortie de commande).

---

## Jalon 0 · Vérifications préalables

### Étape 0.1 — Vérifier le réseau (mission 3)

Sur `PC-TECH-xx`, dans PowerShell :

```powershell
Test-NetConnection PC-STOCKAGE-xx -Port 445
```

✅ **Attendu :** `TcpTestSucceeded : True`

❌ Si le port 445 ne répond pas : **STOP**. Reprenez la recette de sortie de la mission 3 (profil réseau privé, pare-feu, partage de fichiers activé).

### Étape 0.2 — Vérifier les deux disques ajoutés

Les deux disques virtuels doivent avoir été ajoutés à `PC-STOCKAGE-xx` (VM arrêtée, étape 18 de la mission 3).

### Étape 0.3 — Vérifier les comptes et groupes locaux

Sur `PC-STOCKAGE-xx`, les comptes `support.stagiaire`, `support.tech`, `support.admin` et les groupes `GRP-SUPPORT`, `GRP-SUPPORT-TECH`, `GRP-SUPPORT-ADMINS` doivent exister.

---

## Jalon 1 · Le volume miroir

**Objectif :** un miroir logiciel de deux disques, monté en `S:`, étiquette `SupportLab`.

```mermaid
flowchart LR
    D1[Disque 1] --> P[Pool de stockage<br/>PoolSupportLab]
    D2[Disque 2] --> P
    P --> M[Disque virtuel miroir<br/>MiroirSupportLab]
    M --> V[Volume NTFS<br/>S: SupportLab]
```

> 💡 **Rappel :** un miroir protège contre la panne d'**un** disque. Il ne protège pas contre une suppression, une erreur de manipulation ou une compromission. **Ce n'est pas une sauvegarde.**

### Étape 1.1 — Identifier les disques

Sur `PC-STOCKAGE-xx`, PowerShell **en administrateur** :

```powershell
Get-Disk |
    Select-Object Number, FriendlyName, Size, PartitionStyle, OperationalStatus
```

Repérez les deux nouveaux disques : distincts du disque système, **sans partition**.

⚠️ Ne vous fiez pas au numéro (il varie d'une VM à l'autre) : vérifiez la **taille** et l'**absence de partition**.

### Étape 1.2 — Vérifier qu'ils sont "poolables"

```powershell
Get-PhysicalDisk -CanPool $true |
    Select-Object FriendlyName, Size, MediaType, CanPool
```

✅ **Attendu :** les deux nouveaux disques avec `CanPool = True`.

❌ Si aucun disque n'apparaît : ils ont peut-être déjà été initialisés, partitionnés ou intégrés à un autre pool.

### Étape 1.3 — Créer le pool, le miroir et le volume

**Choisissez UN seul parcours** (graphique OU PowerShell, pas les deux).

#### Option A — Parcours graphique

1.  Ouvrir `Paramètres` → `Système` → `Stockage` → `Paramètres de stockage avancés` → `Espaces de stockage`
2.  Créer un nouveau pool nommé `**PoolSupportLab**` avec **uniquement** les deux nouveaux disques
3.  Créer un espace de stockage nommé `**MiroirSupportLab**`, résilience `**Miroir bidirectionnel**`
4.  Créer le volume : lettre `**S:**`, système de fichiers `**NTFS**`, étiquette `**SupportLab**`

#### Option B — Parcours PowerShell

```powershell
# 1. Sélectionner les disques disponibles
$disks = Get-PhysicalDisk -CanPool $true
$disks | Select-Object FriendlyName, Size, MediaType, CanPool
```

⚠️ **Vérifiez que** `**$disks**` **contient uniquement les deux nouveaux disques avant de continuer.**

```powershell
# 2. Identifier le sous-système de stockage Windows
$subsystem = Get-StorageSubSystem |
    Where-Object FriendlyName -Like "Windows*" |
    Select-Object -First 1

# 3. Créer le pool
New-StoragePool `
    -FriendlyName "PoolSupportLab" `
    -StorageSubSystemFriendlyName $subsystem.FriendlyName `
    -PhysicalDisks $disks

# 4. Créer le disque virtuel en miroir
New-VirtualDisk `
    -StoragePoolFriendlyName "PoolSupportLab" `
    -FriendlyName "MiroirSupportLab" `
    -ResiliencySettingName Mirror `
    -UseMaximumSize

# 5. Initialiser, partitionner et formater
Get-VirtualDisk -FriendlyName "MiroirSupportLab" |
    Get-Disk |
    Initialize-Disk -PartitionStyle GPT -PassThru |
    New-Partition -DriveLetter S -UseMaximumSize |
    Format-Volume `
        -FileSystem NTFS `
        -NewFileSystemLabel "SupportLab"
```

### ✅ Test de validation du jalon 1 (obligatoire)

```powershell
Get-Volume -DriveLetter S |
    Select-Object DriveLetter, FileSystemLabel, FileSystem, HealthStatus

Get-VirtualDisk -FriendlyName "MiroirSupportLab" |
    Select-Object FriendlyName, ResiliencySettingName, HealthStatus
```

📸 **Preuve à conserver** pour le livrable.

---

## Jalon 2 · L'arborescence

**Objectif :** créer les 10 dossiers de travail du SupportLab.

```mermaid
flowchart TD
    R[S:\SupportLab] --> A[00_Commun]
    R --> B[10_Procedures]
    R --> C[20_Interventions]
    C --> C1[A_traiter]
    C --> C2[En_cours]
    C --> C3[Cloturees]
    R --> D[30_Packages]
    R --> E[40_Inventaires]
    R --> F[50_Historique]
    R --> G[90_Administration]
```

### Étape 2.1 — Créer les dossiers

```powershell
$root = "S:\SupportLab"
$folders = @(
  "00_Commun",
  "10_Procedures",
  "20_Interventions\A_traiter",
  "20_Interventions\En_cours",
  "20_Interventions\Cloturees",
  "30_Packages",
  "40_Inventaires",
  "50_Historique",
  "90_Administration"
)
New-Item -ItemType Directory -Path $root -Force
$folders | ForEach-Object { New-Item -ItemType Directory -Path (Join-Path $root $_) -Force }
```

*Alternative graphique : vérifier le disque via* `*diskmgmt.msc*` *puis créer les dossiers dans l'Explorateur.*

### ✅ Test de validation du jalon 2 (obligatoire)

```powershell
Get-ChildItem "S:\SupportLab" -Recurse -Directory | Select-Object FullName
```

✅ **Attendu :** les 10 dossiers, y compris les 3 sous-dossiers de `20_Interventions`.

---

## Jalon 3 · Les droits NTFS

**Objectif :** appliquer la matrice de permissions par groupe.

### Matrice à appliquer

### Étape 3.1 — Contrôler l'héritage AVANT d'ajouter les groupes

⚠️ Un groupe générique hérité (`Utilisateurs`, `Utilisateurs authentifiés`) peut donner plus de droits que prévu.

Pour chaque dossier :

1.  Clic droit → `Propriétés` → `Sécurité` → `Avancé`
2.  Examiner les autorisations **héritées**
3.  Désactiver l'héritage **uniquement si** les droits hérités contredisent la matrice
4.  Conserver les comptes système et administratifs nécessaires
5.  Retirer les groupes génériques donnant un accès non prévu
6.  **Jamais** d'autorisation explicite `Refuser`

### Étape 3.2 — Ajouter les groupes (parcours graphique)

Pour chaque dossier de la matrice :

1.  Clic droit → `Propriétés` → `Sécurité` → `Modifier` / `Avancé`
2.  Ajouter les groupes locaux nécessaires
3.  Attribuer le niveau prévu (Lecture / Modification / Contrôle total)
4.  Vérifier que les permissions s'appliquent aux **fichiers et sous-dossiers**

### ✅ Test de validation du jalon 3 (obligatoire)

```powershell
icacls "S:\SupportLab\00_Commun"
icacls "S:\SupportLab\20_Interventions"
icacls "S:\SupportLab\50_Historique"
icacls "S:\SupportLab\90_Administration"
```

**Lire la sortie** `**icacls**` **:**

✅ **Attendu :** les groupes de la matrice avec le bon niveau. **Aucune ligne** `**(DENY)**`**.**

---

## Jalon 4 · Le partage et la recette

### Étape 4.1 — Publier le partage `SupportLab`

**Choisissez UN parcours.**

#### Option A — PowerShell (sur `PC-STOCKAGE-xx`, en administrateur)

```powershell
New-SmbShare `
    -Name "SupportLab" `
    -Path "S:\SupportLab" `
    -ReadAccess "GRP-SUPPORT" `
    -ChangeAccess "GRP-SUPPORT-TECH" `
    -FullAccess "GRP-SUPPORT-ADMINS"
```

#### Option B — Graphique

1.  Clic droit sur `S:\SupportLab` → `Propriétés` → `Partage` → `Partage avancé`
2.  Cocher `Partager ce dossier`, nom de partage : `**SupportLab**`
3.  `Autorisations` : Lecture → `GRP-SUPPORT` · Modification → `GRP-SUPPORT-TECH` · Contrôle total → `GRP-SUPPORT-ADMINS`
4.  Retirer les autorisations trop larges (ex. `Tout le monde`)

*Vérification visuelle possible via* `*fsmgmt.msc*` *ou* `*compmgmt.msc*` *→ Dossiers partagés → Partages.*

#### ✅ Test de validation du partage

```powershell
Get-SmbShare -Name "SupportLab"
Get-SmbShareAccess -Name "SupportLab"
```

✅ **Attendu :** `GRP-SUPPORT` = Read, `GRP-SUPPORT-TECH` = Change, `GRP-SUPPORT-ADMINS` = Full.

### Étape 4.2 — Tester l'accès depuis `PC-TECH-xx`

```mermaid
sequenceDiagram
    participant T as PC-TECH-xx
    participant S as PC-STOCKAGE-xx
    T->>S: \\PC-STOCKAGE-xx\SupportLab
    S-->>T: Demande d'identifiants
    T->>S: PC-STOCKAGE-xx\support.tech + mot de passe
    S-->>T: Accès au partage (droits partage ∩ droits NTFS)
```

**Graphique :** Explorateur → barre d'adresse → `\\PC-STOCKAGE-xx\SupportLab` → identifiants `PC-STOCKAGE-xx\support.tech`.

**Ligne de commande :**

```powershell
net use \\PC-STOCKAGE-xx\SupportLab /user:PC-STOCKAGE-xx\support.tech
Get-ChildItem "\\PC-STOCKAGE-xx\SupportLab"
```

### Étape 4.3 — Vérifier les droits effectifs (les 3 comptes)

> **Un droit ne se lit pas, il se teste.** Un refus constaté est une preuve au même titre qu'un accès réussi.

**Cycle de test pour chaque compte :**

```mermaid
flowchart LR
    A[net use ... /delete<br/>supprimer la connexion existante] --> B[net use ... /user:compte-a-tester]
    B --> C[Test lecture :<br/>Get-ChildItem sur le dossier]
    C --> D[Test modification :<br/>créer, renommer, supprimer un fichier]
    D --> E[Test refus :<br/>tenter de créer un fichier<br/>→ relever « Accès refusé »]
    E --> F{Compte suivant ?}
    F -- oui --> A
    F -- non --> G[Matrice complétée]
```

**Comportements attendus :**

**Test de lecture :**

```powershell
Get-ChildItem "\\PC-STOCKAGE-xx\SupportLab\20_Interventions"
```

**Test de modification :**

```powershell
New-Item "\\PC-STOCKAGE-xx\SupportLab\20_Interventions\test-droit.txt" -ItemType File
Rename-Item "\\PC-STOCKAGE-xx\SupportLab\20_Interventions\test-droit.txt" "test-droit-renomme.txt"
Remove-Item "\\PC-STOCKAGE-xx\SupportLab\20_Interventions\test-droit-renomme.txt"
```

**Changer de compte (obligatoire entre chaque test) :**

```powershell
net use \\PC-STOCKAGE-xx\SupportLab /delete
net use \\PC-STOCKAGE-xx\SupportLab /user:PC-STOCKAGE-xx\support.stagiaire
```

⚠️ **Une seule identité distante à la fois.** Si un test semble utiliser le mauvais compte : fermez les fenêtres de l'Explorateur, listez avec `net use`, supprimez la connexion, reconnectez-vous.

#### ✅ Test de validation du jalon 4

Vous devez avoir démontré :

-   \[ \] au moins un accès en **lecture**
-   \[ \] au moins une **modification** réussie
-   \[ \] au moins un accès **refusé**
-   \[ \] un accès **complet** avec `support.admin`

❌ Si `support.stagiaire` ou `support.tech` peut écrire dans `90_Administration` → reprendre le jalon 3.

### Étape 4.4 — Mettre à jour l'inventaire GLPI

Sur `PC-STOCKAGE-xx` :

1.  Déclencher un nouvel inventaire (même méthode que les missions précédentes)
2.  Attendre la réception dans GLPI
3.  Ouvrir la fiche de `PC-STOCKAGE-xx`
4.  Contrôler la **date du dernier inventaire**
5.  Vérifier la présence du **volume** `**S:**` : étiquette `SupportLab`, NTFS, capacité cohérente avec le miroir

Contrôle côté Windows :

```powershell
Get-Volume -DriveLetter S |
    Select-Object DriveLetter, FileSystemLabel, FileSystem, Size, SizeRemaining, HealthStatus
```

❌ Volume visible dans Windows mais absent de GLPI : vérifier que le service **GLPI Agent** est démarré, relancer l'inventaire, actualiser la fiche.

---

## Dépannage rapide

---

## Livrable (limité)

1.  Preuve du volume miroir `S:` sain (`Get-Volume` + `Get-VirtualDisk`)
2.  **Matrice des tests d'accès complétée** (ci-dessous)
3.  Preuve du partage `SupportLab` (`Get-SmbShare` + `Get-SmbShareAccess`)
4.  Preuve GLPI (volume `S:` visible, date récente)
5.  Conclusion de **3 lignes max** : le stockage est-il prêt pour la mission suivante ?

### Matrice des tests d'accès à compléter

Chaque preuve doit permettre d'identifier : le poste, le compte, le dossier, l'action, le résultat.

---

## Recette de sortie

⚠️ **Ne poursuivez pas avec une ligne en échec** : la mission suivante (versioning + restauration dans `50_Historique`) en dépend.

---

## Bonus (optionnel)

Créer `S:\SupportLab\00_Commun\README-SupportLab.txt` décrivant en une phrase l'usage de chaque dossier (`00_Commun`, `10_Procedures`, `20_Interventions`, `30_Packages`, `40_Inventaires`, `50_Historique`, `90_Administration`).

Puis vérifier depuis `PC-TECH-xx` :

-   `support.stagiaire` peut **lire** le fichier
-   `support.tech` peut **lire** le fichier
-   `support.admin` peut le **modifier**

---

## Le réflexe à garder

> **Un droit ne se lit pas, il se teste.** Une permission affichée dans l'interface ne prouve rien tant qu'une tentative d'accès réelle n'a pas confirmé le comportement — et une tentative refusée est une preuve au même titre qu'une réussie.
