Avant de manipuler fichiers, Registre ou variables d’environnement, Sophie vous montre quelque chose qui va vous simplifier la vie pour le reste de la formation : « À Nordika, on n’a jamais qu’un seul jeu de cmdlets à apprendre pour naviguer, peu importe ce qu’on explore. Un dossier, une clé de Registre, un certificat : c’est toujours la même logique. »
C’est le principe des Providers.
Le principe : tout ressemble à un disque
Un Provider est un composant PowerShell qui expose une source de données comme si c’était un système de fichiers classique, avec des dossiers et des éléments qu’on peut lister, parcourir, créer, supprimer — toujours avec les mêmes cmdlets génériques (Get-ChildItem, Get-Item, New-Item, Remove-Item…).
Pour lister tous les Providers disponibles sur votre machine :
Get-PSProviderChaque Provider expose un ou plusieurs lecteurs (PSDrives), reconnaissables à leur notation NomDuLecteur: — exactement comme C: en est un pour le Provider FileSystem.
Get-PSDriveLes lecteurs les plus courants
| Lecteur | Provider | Ce qu’il expose |
|---|---|---|
C: | FileSystem | Le système de fichiers classique (Windows) |
HKLM: / HKCU: | Registry | Le Registre Windows (Windows uniquement) |
Env: | Environment | Les variables d’environnement du système |
Cert: | Certificate | Le magasin de certificats (Windows uniquement) |
Variable: | Variable | Toutes les variables actives de votre session PowerShell |
Le même réflexe, quel que soit le lecteur
C’est là que le concept devient concret. Naviguer dans le Registre se fait exactement comme naviguer dans un dossier :
Set-Location HKLM:\SOFTWARE\Microsoft
Get-ChildItemLister les variables d’environnement :
Get-ChildItem Env:Récupérer la valeur d’une variable d’environnement précise, comme le PATH :
Get-Item Env:\PATHLister toutes les variables actives de votre session PowerShell (utile pour un debug rapide, sans taper le nom de chaque variable une par une) :
Get-ChildItem Variable:Sur Windows, explorer les certificats installés :
Get-ChildItem Cert:\CurrentUser\MyPourquoi c’est important de comprendre ce concept maintenant
Sans cette notion, on pourrait croire que le Registre ou les certificats nécessitent des cmdlets totalement différentes de celles utilisées pour les fichiers. En réalité, Get-ChildItem, Get-Item, New-Item, Remove-Item, Copy-Item fonctionnent de façon cohérente sur tous ces lecteurs. Apprendre à manipuler des fichiers en leçon 4.2 vous servira donc directement pour manipuler le Registre en 4.5 — ce sont les mêmes cmdlets, juste un lecteur différent.
C’est comme si, à Nordika, un seul type de chariot élévateur permettait de circuler indifféremment dans l’entrepôt de pièces détachées, dans les archives papier, ou dans la salle des dossiers administratifs : la façon de conduire ne change pas, seul le contenu du lieu visité change.
Se rappeler où on se trouve
Un piège fréquent pour les débutants : après être allé naviguer dans HKLM:, on oublie qu’on n’est plus dans C:. Pour vérifier son lecteur courant à tout moment :
Get-LocationEt pour revenir simplement sur le lecteur C: :
Set-Location C:\Dans la prochaine leçon, on applique concrètement ce principe au Provider le plus utilisé au quotidien : FileSystem, pour manipuler fichiers et dossiers.