Get-PSDrive

Získá jednotky v aktuální relaci.

Syntax

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

Description

Rutina Get-PSDrive získá jednotky v aktuální relaci. V relaci můžete získat konkrétní jednotku nebo všechny jednotky.

Tato rutina získá následující typy jednotek:

  • Logické jednotky Windows v počítači, včetně jednotek mapovaných na síťové sdílené složky.
  • Jednotky vystavené poskytovateli PowerShellu (například Certifikát:, Funkce:a Alias: jednotky) a HKLM: a HKCU: jednotky, které jsou vystaveny poskytovatelem registru Windows PowerShell.
  • Dočasné jednotky zadané relací a trvalé mapované síťové jednotky, které vytvoříte pomocí rutiny New-PSDrive.

Počínaje Windows PowerShell 3.0 může parametr New-PSDrivePersist rutiny vytvořit mapované síťové jednotky uložené v místním počítači a jsou dostupné v jiných relacích. Další informace najdete v tématu New-PSDrive.

Kromě toho, počínaje Windows PowerShell 3.0, když je externí jednotka připojena k počítači, Windows PowerShell automaticky přidá PSDrive do systému souborů, který představuje novou jednotku. Není nutné restartovat Windows PowerShell. Podobně když se externí jednotka odpojí od počítače, Windows PowerShell automaticky odstraní PSDrive, který představuje odebranou jednotku.

Příklady

Příklad 1: Získání jednotek v aktuální relaci

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

Tento příkaz získá jednotky v aktuální relaci.

Výstup ukazuje pevný disk (C:), jednotku CD-ROM (D:) a jednotky vystavené poskytovateli Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:a Variable:).

Příklad 2: Získání jednotky v počítači

PS C:\foo> Get-PSDrive D

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

Tento příkaz načte jednotku D: na počítači. Všimněte si, že písmeno jednotky v příkazu není následované dvojtečku.

Příklad 3: Získání všech jednotek podporovaných poskytovatelem systému souborů 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

Tento příkaz získá všechny jednotky podporované poskytovatelem Windows PowerShell FileSystem. To zahrnuje pevné jednotky, logické oddíly, mapované síťové jednotky a dočasné jednotky, které vytvoříte pomocí rutiny New-PSDrive.

Příklad 4: Zkontrolujte, jestli se jednotka používá jako název jednotky 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
}

Tento příkaz zkontroluje, jestli se jednotka X už používá jako název jednotky Windows PowerShell. Pokud tomu tak není, příkaz pomocí New-PSDrive rutiny vytvoří dočasnou jednotku, která je namapovaná na klíč registru HKLM:\SOFTWARE.

Příklad 5: Porovnání typů systémových jednotek souborů

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

Tento příklad porovnává typy jednotek systému souborů, které se zobrazují pomocí Get-PSDrive jiných metod. Tento příklad ukazuje různé způsoby zobrazení jednotek v Windows PowerShell a ukazuje, že jednotky specifické pro relaci vytvořené pomocí rutiny New-PSDrive jsou přístupné pouze v Windows PowerShell.

První příkaz používá Get-PSDrive k získání všech jednotek systému souborů v relaci. To zahrnuje pevné jednotky (C: a D:), namapovanou síťovou jednotku (G:) vytvořený pomocí parametru New-PSDriveTrvalé uložení a jednotky PowerShellu (T:) byl vytvořen pomocí bez New-PSDriveparametru Persist.

Příkaz net use zobrazí namapované síťové jednotky Windows, v tomto případě zobrazí pouze jednotku G. Nezobrazuje jednotku X: vytvořenou .New-PSDrive Ukazuje, že jednotka G: je také mapována na \\Music\GratefulDead.

Třetí příkaz používá metodu GetDrives třídy Microsoft .NET Framework System.IO.DriveInfo . Tento příkaz získá jednotky systému souborů Windows, včetně jednotky G:, ale nezískají jednotky vytvořené .New-PSDrive

Čtvrtý příkaz používá rutinu Get-CimInstance k získání instancí třídy Win32_LogicalDisk . Vrátí jednotky A:, C:, D:, E:a G: , ale ne jednotky vytvořené .New-PSDrive

Poslední příkaz používá rutinu Get-CimInstance k zobrazení instancí třídy Win32_NetworkConnection . Podobně jako net use vrátí pouze trvalou jednotku G: vytvořenou .New-PSDrive

Parametry

-LiteralName

Určuje název jednotky.

Hodnota LiteralName se používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud název obsahuje řídicí znaky, uzavřete ho do jednoduchých uvozovek. Jednoduché uvozovky říkají, Windows PowerShell nemají interpretovat žádné znaky jako řídicí sekvence.

Type:String[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Name

Určuje název nebo název jednotek, které tato rutina získá v operaci, jako pole řetězců. Zadejte název jednotky nebo písmeno bez dvojtečky (:).

Type:String[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Určuje jako pole řetězců poskytovatele Windows PowerShell. Tato rutina získá pouze jednotky podporované tímto poskytovatelem. Zadejte název zprostředkovatele, například FileSystem, Registry nebo Certificate.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Scope

Určuje obor, ve kterém tato rutina získá jednotky.

Tento parametr přijímá tyto hodnoty:

  • Globální
  • Místní
  • Skript
  • číslo relativní k aktuálnímu oboru (0 až počet oborů, kde 0 je aktuální obor a 1 je jeho nadřazený). Výchozí hodnota je místní.

Další informace najdete v tématu about_Scopes.

Type:String
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Vstupy

None

Objekty nelze do této rutiny převést.

Výstupy

PSDriveInfo

Tato rutina vrátí objekty, které představují jednotky v relaci.

Poznámky

  • Tato rutina je navržená tak, aby fungovala s daty vystavenými libovolným poskytovatelem. Pokud chcete zobrazit seznam zprostředkovatelů dostupných v relaci, použijte rutinu Get-PSProvider . Další informace najdete v tématu about_Providers.
  • Mapované síťové jednotky vytvořené pomocí parametru Persist rutiny New-PSDrive jsou specifické pro uživatelský účet. Namapované síťové jednotky, které vytvoříte v relacích, které jsou spuštěny s možností Spustit jako správce nebo s přihlašovacími údaji jiného uživatele, nejsou viditelné v relacích, které jsou spuštěny bez explicitních přihlašovacích údajů nebo s přihlašovacími údaji aktuálního uživatele.