Le Provider FileSystem vu en 4.1 est celui que vous manipulerez le plus souvent. Sophie ouvre l’armoire à outils : “Ce sont les cinq gestes de base pour manipuler n’importe quel fichier ou dossier chez Nordika. Une fois maîtrisés, tu ne toucheras plus jamais à l’explorateur Windows pour ça.”
Lister le contenu d’un dossier
Get-ChildItem (déjà croisé en 1.4 et en 4.1) liste les fichiers et sous-dossiers :
Get-ChildItem C:\Nordika\Logs
Pour explorer récursivement, y compris tous les sous-dossiers :
Get-ChildItem C:\Nordika\Logs -Recurse
Pour ne récupérer que les fichiers (pas les dossiers), ou l’inverse :
Get-ChildItem C:\Nordika\Logs -File
Get-ChildItem C:\Nordika\Logs -Directory
Créer un fichier ou un dossier
New-Item fonctionne aussi bien pour l’un que pour l’autre, selon le paramètre -ItemType :
New-Item -Path "C:\Nordika\Rapports" -ItemType Directory
New-Item -Path "C:\Nordika\Rapports\audit.txt" -ItemType File
Copier, déplacer, renommer
Copy-Item -Path "C:\Nordika\Rapports\audit.txt" -Destination "C:\Nordika\Archives\"
Move-Item -Path "C:\Nordika\Rapports\audit.txt" -Destination "C:\Nordika\Archives\"
Rename-Item -Path "C:\Nordika\Archives\audit.txt" -NewName "audit_2026.txt"
-Recurse fonctionne aussi avec Copy-Item pour copier un dossier entier avec son contenu.
Supprimer un fichier ou un dossier
Remove-Item -Path "C:\Nordika\Rapports\audit.txt"
Pour un dossier contenant des éléments, il faut ajouter -Recurse :
Remove-Item -Path "C:\Nordika\Rapports" -Recurse
Attention, particulièrement avec cette cmdlet : PowerShell ne place pas les fichiers supprimés dans la corbeille, contrairement à l’explorateur Windows. Remove-Item est définitif. Ajoutez systématiquement -WhatIf la première fois que vous testez une suppression sur un chemin sensible (-WhatIf simule l’action sans l’exécuter, et affiche ce qui aurait été fait)
Remove-Item -Path "C:\Nordika\Rapports" -Recurse -WhatIf
Lire et écrire le contenu d’un fichier texte
Get-Content -Path "C:\Nordika\Logs\erreurs.log"
Pour ne lire que les dernières lignes (pratique sur un gros fichier de logs) :
Get-Content -Path "C:\Nordika\Logs\erreurs.log" -Tail 20
Écrire dans un fichier, en écrasant le contenu existant, ou en ajoutant à la suite :
Set-Content -Path "C:\Nordika\Rapports\audit.txt" -Value "Audit du 24/07/2026"
Add-Content -Path "C:\Nordika\Rapports\audit.txt" -Value "Serveur SRV-01 : OK"
Vérifier qu’un chemin existe avant d’agir
Un réflexe essentiel avant toute opération sur un fichier, pour éviter une erreur en cas d’absence :
Test-Path -Path "C:\Nordika\Rapports\audit.txt"
Renvoie $true ou $false — on utilisera beaucoup cette cmdlet en section 5, combinée à des conditions.
Un exemple concret Nordika
$dossierRapports = "C:\Nordika\Rapports"
if (-not (Test-Path $dossierRapports)) {
New-Item -Path $dossierRapports -ItemType Directory
}
Get-ChildItem "C:\Nordika\Logs" -Recurse -File |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Move-Item -Destination $dossierRapports
Ce script (dont la logique conditionnelle sera détaillée en section 5) déplace vers les archives tous les fichiers de logs vieux de plus de 30 jours — un ticket typique de maintenance chez Nordika.
Retenez le trio New-Item / Copy-Item / Remove-Item, cohérent avec la convention Verbe-Nom vue en 2.1 — et surtout, gardez le réflexe -WhatIf avant toute suppression sur un chemin que vous ne maîtrisez pas parfaitement.
Dans la prochaine leçon, on quitte le Provider FileSystem pour passer aux processus et services.