Un lecteur Windows PowerShell est un emplacement de magasin de données auquel vous pouvez accéder de la même manière que pour un lecteur de système de fichiers dans Windows PowerShell. Les fournisseurs de Windows PowerShell créent des lecteurs pour vous, comme les lecteurs de système de fichiers (y compris C: et D:), les lecteurs de Registre (HKCU: et HKLM:) et le lecteur de certificats (Cert:), mais vous pouvez aussi créer les vôtres. Ces lecteurs sont très utiles, mais ils ne sont disponibles que dans Windows PowerShell. Vous ne pouvez pas y accéder en utilisant d'autres outils Windows, tels que l'Explorateur Windows ou Cmd.exe.

Windows PowerShell utilise le substantif PSDrive pour les commandes qui fonctionnent avec les lecteurs Windows PowerShell. Pour obtenir une liste des lecteurs Windows PowerShell de votre session Windows PowerShell, utilisez l'applet de commande Get-PSDrive.

PS> 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 selon les lecteurs présents sur votre système, la liste sera similaire à la sortie de la commande Get-PSDrive présentée ci-dessus.

Les lecteurs de système de fichiers sont un sous-ensemble des lecteurs Windows PowerShell. Les lecteurs de système de fichiers sont identifiables à l'entrée FileSystem de la colonne Provider (fournisseur). (Les lecteurs de système de fichiers de Windows PowerShell sont pris en charge par le fournisseur FileSystem (système de fichiers) de Windows PowerShell.)

Pour voir la syntaxe de l'applet de commande Get-PSDrive, tapez une commande Get-Command avec le paramètre Syntax :

PS> 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 Windows PowerShell pris en charge par un fournisseur particulier. Par exemple, pour afficher uniquement les lecteurs Windows PowerShell pris en charge par le fournisseur FileSystem de Windows PowerShell, tapez une commande Get-PSDrive avec le paramètre PSProvider et la valeur FileSystem :

PS> Get-PSDrive -PSProvider FileSystem

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
C          FileSystem    C:\                           ...nd Settings\PowerUser
D          FileSystem    D:\

Pour consulter les lecteurs Windows PowerShell qui représentent des ruches du Registre, utilisez le paramètre PSProvider afin d'afficher uniquement les lecteurs Windows PowerShell pris en charge par le fournisseur Registry de Windows PowerShell :

PS> 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 Windows PowerShell :

PS> Set-Location HKLM:\SOFTWARE

PS> Push-Location .\Microsoft

PS> Get-Location

Path

----

HKLM:\SOFTWARE\Microsoft

Ajout de nouveaux lecteurs Windows PowerShell (New-PSDrive)

Vous pouvez ajouter vos propres lecteurs Windows PowerShell en utilisant la commande New-PSDrive. Pour obtenir la syntaxe de la commande New-PSDrive, entrez la commande Get-Command avec le paramètre Syntax :

PS> Get-Command -Name New-PSDrive -Syntax
New-PSDrive [-Name] <String> [-PSProvider] <String> [-Root] <String> [-Descript
ion <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug
] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St
ring>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]

Pour créer un lecteur Windows PowerShell, vous devez fournir trois paramètres :

  • le nom du lecteur (vous pouvez utiliser tout nom Windows PowerShell valide) ;

  • le fournisseur Windows PowerShell (utilisez « FileSystem » pour les emplacements du système de fichiers et « Registry » pour les emplacements du Registre) ;

  • la racine, autrement dit, le chemin d'accès à la racine du nouveau lecteur.

Par exemple, vous pouvez créer un lecteur nommé « Office » mappé au dossier contenant les applications Microsoft Office installées sur votre ordinateur, par exemple C:\Program Files\Microsoft Office\OFFICE11. Pour créer le lecteur, tapez la commande suivante :

PS> New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Micr
osoft Office\OFFICE11"

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
Office     FileSystem    C:\Program Files\Microsoft Offic...
Remarque :

En règle générale, les chemins d'accès ne respectent pas la casse.

La référence au nouveau lecteur Windows PowerShell obéit au même schéma que pour tout autre lecteur Windows PowerShell : vous spécifiez son nom, suivi des deux-points (:).

Un lecteur Windows PowerShell peut simplifier bon nombre de tâches. Par exemple, certaines des clés les plus importantes du Registre Windows ont des chemins d'accès extrêmement longs, ce qui rend leur accès et leur mémorisation quelque peu fastidieux. Les informations de configuration essentielles résident sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. Pour afficher et modifier des éléments de la clé de Registre CurrentVersion, vous pouvez créer un lecteur Windows PowerShell qui aura cette clé pour racine en tapant :

PS> New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\W

indows\CurrentVersion

Name Provider Root CurrentLocation

---- -------- ---- ---------------

cvkey Registry HKLM\Software\Microsoft\Windows\...

Vous pouvez ensuite accéder au lecteur cvkey: comme avec n'importe quel autre lecteur :

PS> cd cvkey:

- ou -

PS> Set-Location cvkey: -PassThru

Path

----

cvkey:\

L'applet de commande New-PsDrive ajoute uniquement le nouveau lecteur à la session Windows PowerShell active. Si vous fermez la fenêtre Windows PowerShell, le nouveau lecteur est perdu. Pour enregistrer un lecteur Windows PowerShell, utilisez l'applet de commande Export-Console afin d'exporter la session Windows PowerShell active, puis le paramètre PSConsoleFile de PowerShell.exe pour l'importer. Vous pouvez aussi ajouter le nouveau lecteur à votre profil Windows PowerShell.

Suppression de lecteurs Windows PowerShell (Remove-PSDrive)

Vous pouvez supprimer des lecteurs Windows PowerShell en utilisant l'applet de commande Remove-PSDrive. L'applet de commande Remove-PSDrive est facile à utiliser ; pour supprimer un lecteur Windows PowerShell spécifique, vous fournissez simplement son nom.

Par exemple, si vous avez ajouté le lecteur Windows PowerShell Office:, comme vu dans la rubrique New-PSDrive, vous pouvez le supprimer en tapant :

PS> Remove-PSDrive -Name Office

Pour supprimer le lecteur Windows PowerShell cvkey:, également vu dans la rubrique New-PSDrive, utilisez la commande suivante :

PS> Remove-PSDrive -Name cvkey

Il est facile de supprimer un lecteur Windows PowerShell, mais vous ne pouvez pas le faire tant que vous vous trouvez sur ce lecteur. Par exemple :

PS> cd office:
PS 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 à l'extérieur de Windows PowerShell

Windows PowerShell détecte les lecteurs de système de fichiers ajoutés ou supprimés dans Windows, y compris les lecteurs réseau mappés, les lecteurs USB connectés et les lecteurs supprimés au moyen de la commande net use ou des méthodes WScript.Network MapNetworkDrive et RemoveNetworkDrive d'un script WSH (Windows Script Host).




Table des matières