Partager via


Get-PSDrive

Obtient les lecteurs dans la session active.

Syntaxe

Get-PSDrive
   [[-Name] <String[]>]
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]
Get-PSDrive
   [-LiteralName] <String[]>
   [-Scope <String>]
   [-PSProvider <String[]>]
   [<CommonParameters>]

Description

L’applet Get-PSDrive de commande obtient les lecteurs de la session active. Vous pouvez obtenir un lecteur particulier ou tous les lecteurs présents dans la session.

Cette applet de commande obtient les types de lecteurs suivants :

  • Lecteurs logiques Windows sur l’ordinateur, y compris les lecteurs mappés aux partages réseau.
  • Lecteurs exposés par des fournisseurs PowerShell (tels que les lecteurs Certificate :, Function :et Alias : ) et HKLM : et HKCU : lecteurs exposés par le fournisseur de Registre Windows PowerShell.
  • Lecteurs temporaires spécifiés par session et lecteurs réseau mappés persistants que vous créez à l’aide de l’applet de commande New-PSDrive.

À compter de Windows PowerShell 3.0, le paramètre Persist de l’applet New-PSDrive de commande peut créer des lecteurs réseau mappés enregistrés sur l’ordinateur local et disponibles dans d’autres sessions. Pour plus d’informations, consultez New-PSDrive.

De plus, depuis Windows PowerShell 3.0, lorsqu’un lecteur externe est connecté à l’ordinateur, Windows PowerShell ajoute automatiquement un lecteur PSDrive au système de fichiers qui représente le nouveau lecteur. Il n'est pas nécessaire de redémarrer Windows PowerShell. De même, lorsqu'un lecteur externe est déconnecté de l'ordinateur, Windows PowerShell supprime automatiquement le PSDrive qui représente le lecteur supprimé.

Exemples

Exemple 1 : Obtenir des lecteurs dans la session active

PS C:\> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
Alias                                  Alias
C                 202.06      23718.91 FileSystem    C:\
Cert                                   Certificate   \
D                1211.06     123642.32 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable

Cette commande obtient les lecteurs dans la session active.

La sortie affiche le disque dur (C :), le lecteur CD-ROM (D :) et les lecteurs exposés par les fournisseurs Windows PowerShell (Alias :, Cert :, Env :, Function :, HKCU :, HKLM :et Variable :).

Exemple 2 : Obtenir un lecteur sur l’ordinateur

PS C:\foo> Get-PSDrive D

Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
D                1211.06     123642.32 FileSystem    D:\

Cette commande obtient le lecteur D: sur l’ordinateur. Notez que la lettre de lecteur dans la commande n’est pas suivie d’un signe deux-points.

Exemple 3 : Obtenir tous les lecteurs pris en charge par le fournisseur de système de fichiers Windows PowerShell

PS C:\> Get-PSDrive -PSProvider FileSystem
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
A                                                    A:\
C                 202.06      23718.91 FileSystem    C:\
D                1211.06     123642.32 FileSystem    D:\
G                 202.06        710.91 FileSystem    \\Music\GratefulDead

Cette commande obtient tous les lecteurs qui sont pris en charge par le fournisseur de système de fichiers de Windows PowerShell. Cela inclut les lecteurs fixes, les partitions logiques, les lecteurs réseau mappés et les lecteurs temporaires que vous créez à l’aide de l’applet de commande New-PSDrive.

Exemple 4 : Vérifier si un lecteur est utilisé en tant que nom de lecteur Windows PowerShell

if (Get-PSDrive X -ErrorAction SilentlyContinue) {
    Write-Host 'The X: drive is already in use.'
} else {
    New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}

Cette commande vérifie si le lecteur X est déjà utilisé en tant que nom de lecteur Windows PowerShell. Si ce n’est pas le cas, la commande utilise l’applet New-PSDrive de commande pour créer un lecteur temporaire mappé à la clé de Registre HKLM :\SOFTWARE.

Exemple 5 : Comparer les types de lecteurs système de fichiers

PS C:\> Get-PSDrive -PSProvider FileSystem
Name           Used (GB)     Free (GB) Provider      Root
----           ---------     --------- --------      ----
A                                                    A:\
C                 202.06      23718.91 FileSystem    C:\
D                1211.06     123642.32 FileSystem    D:\
G                 202.06        710.91 FileSystem    \\Music\GratefulDead
X                                      Registry      HKLM:\Network

PS C:\> net use
New connections will be remembered.
Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK           G:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives() | Format-Table
Name DriveType DriveFormat IsReady AvailableFreeSpace TotalFreeSpace TotalSize     RootDirectory VolumeLabel
---- --------- ----------- ------- ------------------ -------------- ---------     ------------- -----------
A:\    Network               False                                                 A:\
C:\      Fixed NTFS          True  771920580608       771920580608   988877418496  C:\           Windows
D:\      Fixed NTFS          True  689684144128       689684144128   1990045179904 D:\           Big Drive
E:\      CDRom               False                                                 E:\
G:\    Network NTFS          True      69120000           69120000       104853504 G:\           GratefulDead

PS N:\> Get-CimInstance -Class Win32_LogicalDisk

DeviceID DriveType ProviderName   VolumeName         Size          FreeSpace
-------- --------- ------------   ----------         ----          ---------
A:       4
C:       3                        Windows            988877418496  771926069248
D:       3                        Big!              1990045179904  689684144128
E:       5
G:       4         \\Music\GratefulDead              988877418496  771926069248


PS C:\> Get-CimInstance -Class Win32_NetworkConnection
LocalName RemoteName            ConnectionState Status
--------- ----------            --------------- ------
G:        \\Music\GratefulDead  Connected       OK

Cet exemple compare les types de lecteurs de système de fichiers affichés par Get-PSDrive ceux affichés à l’aide d’autres méthodes. Cet exemple montre différentes façons d’afficher des lecteurs dans Windows PowerShell et montre que les lecteurs spécifiques à la session créés à l’aide de l’applet de commande New-PSDrive sont accessibles uniquement dans Windows PowerShell.

La première commande utilise Get-PSDrive pour obtenir tous les lecteurs du système de fichiers dans la session. Cela inclut les lecteurs fixes (C : et D :), un lecteur réseau mappé (G :) créé à l’aide du paramètre Persist et New-PSDrived’un lecteur PowerShell (T :) créé à l’aide New-PSDrive du paramètre Persist .

La commande net use affiche les lecteurs réseau mappés Windows, dans ce cas, il affiche uniquement le lecteur G. Il n’affiche pas le lecteur X : créé par New-PSDrive. Il montre que le lecteur G : est également mappé à \\Music\GratefulDead.

La troisième commande utilise la méthode GetDrives de la classe Microsoft .NET Framework System.IO.DriveInfo . Cette commande obtient les lecteurs du système de fichiers Windows, y compris le lecteur G :, mais elle n’obtient pas les lecteurs créés par New-PSDrive.

La quatrième commande utilise l’applet Get-CimInstance de commande pour obtenir les instances de la classe Win32_LogicalDisk . Elle retourne les lecteurs A :, C :, D :, E :et G : , mais pas les lecteurs créés par New-PSDrive.

La dernière commande utilise l’applet Get-CimInstance de commande pour afficher les instances de la classe Win32_NetworkConnection . Comme l’utilisation nette, elle retourne uniquement le lecteur G persistant créé par New-PSDrive.

Paramètres

-LiteralName

Spécifie le nom du lecteur.

La valeur de LiteralName est utilisée exactement comme elle est typée. Aucun caractère n’est interprété en tant que caractère générique. Si le nom inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à Windows PowerShell qu’aucun caractère ne doit être interprété en tant que séquence d’échappement.

Type:String[]
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Name

Spécifie, en tant que tableau de chaînes, le nom ou le nom des lecteurs que cette applet de commande obtient dans l’opération. Tapez le nom ou la lettre du lecteur sans signe deux-points (:).

Type:String[]
Position:0
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-PSProvider

Spécifie, en tant que tableau de chaînes, le fournisseur Windows PowerShell. Cette applet de commande obtient uniquement les lecteurs pris en charge par ce fournisseur. Tapez le nom d’un fournisseur (FileSystem, Registry ou Certificate, par exemple).

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Scope

Spécifie l’étendue dans laquelle cette applet de commande obtient les lecteurs.

Les valeurs valides pour ce paramètre sont :

  • Global
  • Local
  • Script
  • nombre relatif à l’étendue actuelle (0 au nombre d’étendues, où 0 est l’étendue actuelle et 1 est son parent). « Local » est la valeur par défaut.

Pour plus d’informations, consultez about_Scopes.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-UseTransaction

Inclut la commande dans la transaction active. Ce paramètre est uniquement valide au cours d’une transaction. Pour plus d’informations, consultez about_Transactions.

Type:SwitchParameter
Alias:usetx
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

PSDriveInfo

Cette applet de commande retourne des objets représentant les lecteurs de la session.

Notes

Windows PowerShell inclut les alias suivants pour Get-PSDrive:

  • gdr

  • Cette applet de commande est conçue pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, utilisez l’applet de Get-PSProvider commande. Pour plus d’informations, consultez about_Providers.

  • Les lecteurs réseau mappés créés à l’aide du paramètre Persist de l’applet de commande New-PSDrive sont spécifiques à un compte d’utilisateur. Les lecteurs réseau mappés que vous créez dans les sessions démarrées avec l’option Exécuter en tant qu’administrateur ou avec les informations d’identification d’un autre utilisateur ne sont pas visibles dans les sessions démarrées sans informations d’identification explicites ou avec les informations d’identification de l’utilisateur actuel.