Sdílet prostřednictvím


Get-PSDrive

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

Syntaxe

Get-PSDrive
   [[-Name] <String[]>]
   [-Scope <String>]
   [-PSProvider <String[]>]
   [-UseTransaction]
   [<CommonParameters>]
Get-PSDrive
   [-LiteralName] <String[]>
   [-Scope <String>]
   [-PSProvider <String[]>]
   [-UseTransaction]
   [<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 sdílené síťové složky.
  • Jednotky vystavené zprostředkovateli Prostředí Windows PowerShell (například Certificate:, Function:, and Alias: drive) a HKLM: a HKCU: jednotky, které jsou vystaveny poskytovatelem registru Windows PowerShellu.
  • Dočasné jednotky zadané relací a trvalé mapované síťové jednotky, které vytvoříte pomocí rutiny New-PSDrive.

Počínaje windows PowerShellem 3.0 může parametr Zachovat rutiny New-PS Drive 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 článku New-PSDrive.

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

Příklady

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

PS C:\> Get-PSDrive

Name       Provider      Root
----       --------      ----
Alias      Alias
C          FileSystem    C:\
Cert       Certificate   \
D          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 zobrazuje pevný disk (C:), CD-ROM jednotku (D:) a jednotky vystavené poskytovateli Windows PowerShellu (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:, and Variable:).

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

PS C:\> Get-PSDrive D

Name       Provider      Root
----       --------      ----
D          FileSystem    D:\

Tento příkaz načte jednotku D: v 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 PowerShellu

PS C:\> Get-PSDrive -PSProvider FileSystem

Name       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

Tento příkaz získá všechny jednotky podporované poskytovatelem systému souborů Windows PowerShellu. 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 PowerShellu.

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 PowerShellu. Pokud tomu tak není, příkaz pomocí rutiny New-PSDrive vytvoří dočasnou jednotku mapovanou na klíč registru HKLM:\SOFTWARE.

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

PS C:\> Get-PSDrive -PSProvider FileSystem

Name       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

PS C:\> net use
New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
X:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives()

Name               : C:\
DriveType          : Fixed
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 39831498752
TotalFreeSpace     : 39831498752
TotalSize          : 79900368896
RootDirectory      : C:\
VolumeLabel        :
Name               : D:\
DriveType          : CDRom
DriveFormat        :
IsReady            : False
AvailableFreeSpace :
TotalFreeSpace     :
TotalSize          :
RootDirectory      : D:\
VolumeLabel        :
Name               : X:\
DriveType          : Network
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 36340559872
TotalFreeSpace     : 36340559872
TotalSize          : 36413280256
RootDirectory      : X:\
VolumeLabel        : D_Drive

PS C:\> Get-WmiObject Win32_LogicalDisk

DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 39831252992
Size         : 79900368896
VolumeName   :
DeviceID     : D:
DriveType    : 5
ProviderName :
FreeSpace    :
Size         :
VolumeName   :
DeviceID     : X:
DriveType    : 4
ProviderName : \\server01\public
FreeSpace    : 36340559872
Size         : 36413280256
VolumeName   : D_Drive

PS C:\> Get-WmiObject Win32_NetworkConnection

LocalName                     RemoteName
--------------               ------------
x:                            \\server01\public

Tento příklad porovnává typy jednotek systému souborů, které jsou zobrazeny Get-PSDrive s typy zobrazenými pomocí jiných metod. Tento příklad ukazuje různé způsoby zobrazení jednotek v prostředí Windows PowerShell a ukazuje, že dočasné jednotky specifické pro relaci vytvořené pomocí rutiny New-PSDrive jsou přístupné jenom v prostředí 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:), mapované síťové jednotky (X:), které byly vytvořeny pomocí Trvalé parametru New-PSDrivea dvou dočasných jednotek Windows PowerShellu (Y: a Z:), které byly vytvořeny pomocí New-PSDrive bez parametru Zachovat.

Příkaz net use, který zobrazuje namapované síťové jednotky Windows, zobrazí pouze jednotku X. Nezobrazuje jednotky Y: a Z, které byly vytvořeny New-PSDrive. Ukazuje, že jednotka X: je také namapována na \\Server01\Public.

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 X:, ale nezískáte dočasné jednotky vytvořené New-PSDrive.

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

Poslední příkaz používá rutinu Get-WmiObject k zobrazení instancí Win32_NetworkConnection třídy. Stejně jako net use vrátí pouze trvalou jednotku X: 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í prostředí Windows PowerShell, aby nepřekládaly žádné znaky jako řídicí sekvence.

Typ:String[]
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

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

Typ:String[]
Position:0
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-PSProvider

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

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Scope

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

Přijatelné hodnoty pro tento parametr jsou:

  • 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ý). "Místní" je výchozí hodnota. Další informace naleznete v tématu about_Scopes (https://go.microsoft.com/fwlink/?LinkID=113260).
Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-UseTransaction

Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.

Typ:SwitchParameter
Aliasy:usetx
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Do této rutiny nelze vést objekty.

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 jakýmkoli poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných ve vaší relaci, použijte rutinu Get-PSProvider. Další informace naleznete 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.