Gestion des lecteurs PowerShell
Cet exemple s’applique uniquement aux plateformes Windows.
Un lecteur PowerShell est un emplacement de magasin de données auquel vous pouvez accéder, au même titre qu’un lecteur du système de fichiers dans PowerShell. Les fournisseurs PowerShell créent pour vous certains lecteurs, comme les lecteurs du système de fichiers (y compris C:
et D:
), les lecteurs de Registre (HKCU:
et HKLM:
) et le lecteur de certificat (Cert:
). Vous pouvez également créer vos propres lecteurs PowerShell. Ces lecteurs sont utiles, mais ils ne sont disponibles que dans PowerShell. Vous ne pouvez pas y accéder à l’aide d’autres outils Windows, tels que l’Explorateur de fichiers ou Cmd.exe
.
Les commandes associées aux lecteurs PowerShell comportent le mot PSDrive dans leur intitulé. Pour obtenir la liste des lecteurs PowerShell dans votre session PowerShell, utilisez l’applet de commande Get-PSDrive
.
Get-PSDrive
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
Alias Alias
C FileSystem C:\ ...And Settings\me
cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
Bien que les lecteurs répertoriés varient en fonction des lecteurs de votre système, les vôtres doivent être similaires à la sortie de la commande Get-PSDrive
ci-dessus.
Les lecteurs du système de fichiers sont un sous-ensemble des lecteurs PowerShell. Les lecteurs du système de fichiers sont identifiés par l’entrée FileSystem dans la colonne Provider. Les lecteurs de système de fichiers dans PowerShell sont pris en charge par le fournisseur de système de fichiers PowerShell.
Pour afficher la syntaxe de l'applet de commande Get-PSDrive
, tapez une commande Get-Command
avec le paramètre Syntax :
Get-Command -Name Get-PSDrive -Syntax
Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V
erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-
OutVariable <String>] [-OutBuffer <Int32>]
Le paramètre PSProvider permet d’afficher uniquement les lecteurs PowerShell pris en charge par un fournisseur particulier. Par exemple, pour afficher uniquement les lecteurs pris en charge par le fournisseur FileSystem de PowerShell, tapez une commande Get-PSDrive
avec le paramètre PSProvider et la valeur FileSystem :
Get-PSDrive -PSProvider FileSystem
Name Provider Root CurrentLocation
---- -------- ---- ---------------
A FileSystem A:\
C FileSystem C:\ ...nd Settings\PowerUser
D FileSystem D:\
Pour afficher les lecteurs PowerShell qui représentent les ruches du Registre, utilisez le paramètre PSProvider pour afficher uniquement les lecteurs PowerShell pris en charge par le fournisseur de Registre de PowerShell :
Get-PSDrive -PSProvider Registry
Name Provider Root CurrentLocation
---- -------- ---- ---------------
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Vous pouvez également utiliser les applets de commande Location standard avec les lecteurs PowerShell :
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft
Ajout de nouveaux lecteurs PowerShell
Vous pouvez ajouter vos propres lecteurs PowerShell à l’aide de la commande New-PSDrive
. Pour obtenir la syntaxe de l'applet de commande New-PSDrive
, entrez la commande Get-Command
avec le paramètre Syntax :
Get-Command -Name New-PSDrive -Syntax
New-[-Description <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug ]
[-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St ring>]
[-OutBuffer <Int32>] [-WhatIf] [-Confirm]
Pour créer un lecteur PowerShell, vous devez spécifier trois paramètres :
- le nom du lecteur (vous pouvez utiliser n’importe quel nom PowerShell valide) ;
- PSProvider : utilisez
FileSystem
pour les emplacements du système de fichiers etRegistry
pour les emplacements du Registre - la racine, c'est-à-dire le chemin d'accès à la racine du nouveau lecteur.
Par exemple, vous pouvez créer un lecteur nommé Office
qui est mappé au dossier contenant les applications Microsoft Office sur votre ordinateur, par exemple C:\Program Files\MicrosoftOffice\OFFICE11
.
Pour créer le lecteur, tapez la commande suivante :
New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name Provider Root CurrentLocation
---- -------- ---- ---------------
Office FileSystem C:\Program Files\Microsoft Offic...
Notes
En général, les chemins d’accès ne respectent pas la casse.
Un lecteur PowerShell est accessible à l’aide de son nom suivi d’un signe deux-points (:
).
Un lecteur PowerShell peut simplifier de nombreuses tâches. Par exemple, certaines clés importantes dans le Registre Windows ont des chemins d'accès tellement longs qu'il est difficile d'y accéder et de s'en souvenir. Les informations de configuration critiques résident sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
. Pour afficher et modifier des éléments dans la clé de Registre CurrentVersion, vous pouvez créer un lecteur PowerShell ayant pour racine cette clé en tapant :
New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name Provider Root CurrentLocation
---- -------- ---- ---------------
cvkey Registry HKLM\Software\Microsoft\Windows\...
Vous pouvez ensuite modifier l'emplacement du lecteur cvkey: comme vous le feriez pour tout autre lecteur :
cd cvkey:
ou :
Set-Location cvkey: -PassThru
Path
----
cvkey:\
L’applet de commande New-PSDrive
ajoute le nouveau lecteur uniquement à la session PowerShell active. Si vous fermez la fenêtre PowerShell, le nouveau lecteur est perdu. Pour enregistrer un lecteur PowerShell, utilisez la cmdlet Export-Console
pour exporter la session PowerShell active, puis utilisez le paramètre PowerShell.exe
PSConsoleFile pour l’importer. Vous pouvez aussi ajouter le nouveau lecteur à votre profil Windows PowerShell.
Suppression de lecteurs PowerShell
Pour supprimer des lecteurs de PowerShell, utilisez l’applet de commande Remove-PSDrive
. Par exemple, si vous avez ajouté le lecteur PowerShell Office:
, comme illustré dans la rubrique New-PSDrive
, vous pouvez le supprimer en tapant ce qui suit :
Remove-PSDrive -Name Office
Pour supprimer le lecteur PowerShell cvkey:
, utilisez la commande suivante :
Remove-PSDrive -Name cvkey
Cependant, vous ne pouvez pas le supprimer pendant que vous êtes dans le lecteur. Par exemple :
cd office:
Remove-PSDrive -Name office
Remove-PSDrive : Cannot remove drive 'Office' because it is in use.
At line:1 char:15
+ remove-psdrive <<<< -name office
Ajout et suppression de lecteurs en dehors de PowerShell
PowerShell détecte les lecteurs de système de fichiers qui sont ajoutés ou supprimés dans Windows, notamment :
- Les lecteurs réseau mappés
- Les lecteurs USB attachés
- Les lecteurs supprimés à l’aide de la commande
net use
ou d’un script WSH (Windows Script Host)