Gestion des lecteurs PowerShell
Cet exemple s'applique uniquement aux plates-formes Windows.
Un lecteur PowerShell est un emplacement de stockage de données auquel vous pouvez accéder comme un lecteur de système de fichiers dans PowerShell. Les fournisseurs PowerShell créent certains lecteurs pour vous, tels que les lecteurs du système de fichiers (y compris C: et D:), les lecteurs de registre (HKCU : et HKLM :), ainsi que le lecteur de certificat (Cert :), et vous pouvez 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.
PowerShell utilise le nom PSDrive pour les commandes qui fonctionnent avec les lecteurs PowerShell. Pour obtenir la liste des lecteurs PowerShell dans votre session PowerShell, utilisez la cmdlet 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 affichés varient en fonction des lecteurs de votre système, le vôtre devrait ressembler au résultat de la commande Get-PSDrive présentée ci-dessus.
les lecteurs du système de fichiers sont un sous-ensemble des lecteurs PowerShell. Vous pouvez identifier les lecteurs du système de fichiers par l'entrée FileSystem dans la colonne Fournisseur. Les lecteurs du système de fichiers dans PowerShell sont pris en charge par le fournisseur PowerShell FileSystem.
Pour voir la syntaxe de l'applet de commande Get-PSDrive, tapez une commande Get-Command avec le paramètre Syntaxe :
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 vous permet d'afficher uniquement les lecteurs PowerShell pris en charge par un fournisseur particulier. Par exemple, pour afficher uniquement les lecteurs PowerShell pris en charge par le fournisseur PowerShell FileSystem, saisissez une commande Get-PSDrive avec le paramètre PSProvider et 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 de registre, utilisez le paramètre PSProvider pour afficher uniquement les lecteurs PowerShell pris en charge par le fournisseur de registre 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 la commande New-PSDrive, entrez la commande Get-Command avec le paramètre Syntaxe :
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 nouveau lecteur PowerShell, vous devez fournir trois paramètres :
- Un nom pour le lecteur (vous pouvez utiliser n'importe quel nom PowerShell valide)
- Le PSProvider - utilisez
FileSystempour les emplacements du système de fichiers etRegistrypour les emplacements du registre - La racine, c'est-à-dire le chemin d'accès à la racine du nouveau disque
Par exemple, vous pouvez créer un lecteur nommé Office qui est mappé au dossier contenant les applications Microsoft Office sur votre ordinateur, tel que 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...
Note
En général, les chemins ne sont pas sensibles à la casse.
Un lecteur PowerShell est accessible à l'aide de son nom suivi de deux points (:).
Un lecteur PowerShell peut rendre de nombreuses tâches beaucoup plus simples. Par exemple, certaines des clés les plus importantes du registre Windows ont des chemins d'accès extrêmement longs, ce qui les rend difficiles d'accès et difficiles à mémoriser. 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 enraciné dans 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 n'importe quel 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 actuelle. Si vous fermez la fenêtre PowerShell, le nouveau lecteur est perdu. Pour enregistrer un lecteur PowerShell, utilisez l'applet de commande Export-Console pour exporter la session PowerShell actuelle, puis utilisez le paramètre PowerShell.exe PSConsoleFile pour importez-le. Ou ajoutez le nouveau lecteur à votre profil Windows PowerShell.
Suppression de lecteurs PowerShell
Vous pouvez supprimer des lecteurs de PowerShell à l’aide de l’applet de commande Remove-PSDrive. Par exemple, si vous avez ajouté le lecteur Office: PowerShell, comme indiqué dans la rubrique New-PSDrive, vous pouvez le supprimer en tapant :
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 lorsque 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 du système de fichiers ajoutés ou supprimés dans Windows, notamment :
- lecteurs réseau mappés
- Clés USB connectées
- Lecteurs supprimés à l'aide de la commande
net useou à partir d'un script Windows Script Host (WSH)