Get-PSDrive

Pobiera dyski w bieżącej sesji.

Składnia

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

Opis

Polecenie Get-PSDrive cmdlet pobiera dyski w bieżącej sesji. W sesji można uzyskać określony dysk lub wszystkie dyski.

To polecenie cmdlet pobiera następujące typy dysków:

  • Dyski logiczne systemu Windows na komputerze, w tym dyski mapowane na udziały sieciowe.
  • Dyski uwidocznione przez dostawców programu PowerShell (takich jak Certificate:, Function:i Alias: dyski) i HKLM: i HKCU: dyski, które są udostępniane przez dostawcę rejestru Windows PowerShell.
  • Określone przez sesję dyski tymczasowe i trwałe zamapowane dyski sieciowe tworzone przy użyciu polecenia cmdlet New-PSDrive.

Począwszy od Windows PowerShell 3.0, parametr New-PSDrivePersist polecenia cmdlet może tworzyć mapowane dyski sieciowe, które są zapisywane na komputerze lokalnym i są dostępne w innych sesjach. Aby uzyskać więcej informacji, zobacz New-PSDrive.

Ponadto, począwszy od Windows PowerShell 3.0, gdy dysk zewnętrzny jest podłączony do komputera, Windows PowerShell automatycznie dodaje psDrive do systemu plików, który reprezentuje nowy dysk. Nie trzeba ponownie uruchamiać Windows PowerShell. Podobnie, gdy dysk zewnętrzny zostanie odłączony od komputera, Windows PowerShell automatycznie usunie dysk PSDrive, który reprezentuje usunięty dysk.

Przykłady

Przykład 1. Pobieranie dysków w bieżącej sesji

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

To polecenie pobiera dyski w bieżącej sesji.

Dane wyjściowe pokazują dysk twardy (C:), dysk CD-ROM (D:) oraz dyski udostępniane przez dostawców Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:i Variable:).

Przykład 2. Pobieranie dysku na komputerze

PS C:\foo> Get-PSDrive D

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

To polecenie pobiera dysk D: na komputerze. Należy pamiętać, że litera dysku w poleceniu nie jest obserwowana dwukropkiem.

Przykład 3. Pobieranie wszystkich dysków obsługiwanych przez dostawcę systemu plików 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

To polecenie pobiera wszystkie dyski obsługiwane przez dostawcę systemu plików Windows PowerShell. Dotyczy to dysków stałych, partycji logicznych, mapowanych dysków sieciowych i dysków tymczasowych tworzonych przy użyciu polecenia cmdlet New-PSDrive.

Przykład 4. Sprawdź, czy dysk jest używany jako nazwa dysku 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
}

To polecenie sprawdza, czy dysk X jest już używany jako nazwa dysku Windows PowerShell. Jeśli tak nie jest, polecenie używa New-PSDrive polecenia cmdlet do utworzenia dysku tymczasowego mapowanego na klucz rejestru HKLM:\SOFTWARE.

Przykład 5. Porównanie typów dysków systemowych plików

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

W tym przykładzie porównaliśmy typy dysków systemu plików wyświetlanych przez Get-PSDrive te wyświetlane przy użyciu innych metod. W tym przykładzie pokazano różne sposoby wyświetlania dysków w Windows PowerShell i pokazano, że dyski specyficzne dla sesji utworzone przy użyciu polecenia cmdlet New-PSDrive są dostępne tylko w Windows PowerShell.

Pierwsze polecenie używa polecenia Get-PSDrive do pobrania wszystkich dysków systemu plików w sesji. Obejmuje to dyski stałe (C: i D:), zamapowany dysk sieciowy (G:) utworzony przy użyciu parametru New-PSDrivePersist programu i dysku programu PowerShell (T:), który został utworzony przy New-PSDrive użyciu bez parametru Persist.

Polecenie net use wyświetla zamapowane dyski sieciowe systemu Windows, w tym przypadku wyświetla tylko dysk G. Nie wyświetla dysku X: utworzonego przez program New-PSDrive. Pokazuje, że dysk G: jest również mapowany na \\Music\GratefulDead.

Trzecie polecenie używa metody GetDrives klasy Microsoft .NET Framework System.IO.DriveInfo. To polecenie pobiera dyski systemu plików z systemem Windows, w tym dysk G:, ale nie pobiera dysków utworzonych przez New-PSDriveprogram .

Czwarte polecenie używa Get-CimInstance polecenia cmdlet do pobrania wystąpień klasy Win32_LogicalDisk . Zwraca dyski A:, C:, D:, E:i G:, ale nie dyski utworzone przez New-PSDriveprogram .

Ostatnie polecenie używa Get-CimInstance polecenia cmdlet do wyświetlania wystąpień klasy Win32_NetworkConnection . Podobnie jak w przypadku użycia netto, zwraca tylko trwały dysk G: utworzony przez program New-PSDrive.

Parametry

-LiteralName

Określa nazwę dysku.

Wartość LiterałuNazwa jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli nazwa zawiera znaki ucieczki, należy je ująć w pojedynczy cudzysłów. Znaki pojedynczego cudzysłowu informują, Windows PowerShell nie interpretować żadnych znaków jako sekwencji ucieczki.

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

-Name

Określa jako tablicę ciągów nazwę lub nazwę dysków, które to polecenie cmdlet pobiera w operacji. Wpisz nazwę dysku lub literę bez dwukropka (:).

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

-PSProvider

Określa jako tablicę ciągów dostawcę Windows PowerShell. To polecenie cmdlet pobiera tylko dyski obsługiwane przez tego dostawcę. Wpisz nazwę dostawcy, takiego jak FileSystem, Registry lub Certificate.

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

-Scope

Określa zakres, w którym to polecenie cmdlet pobiera dyski.

Dopuszczalne wartości dla tego parametru to:

  • Globalnie
  • Lokalne
  • Skrypt
  • liczba względem bieżącego zakresu (od 0 do liczby zakresów, gdzie 0 jest bieżącym zakresem, a 1 jest jego elementem nadrzędnym). Wartość domyślna to "Local".

Aby uzyskać więcej informacji, zobacz about_Scopes.

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

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

PSDriveInfo

To polecenie cmdlet zwraca obiekty reprezentujące dyski w sesji.

Uwagi

  • To polecenie cmdlet jest przeznaczone do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, użyj Get-PSProvider polecenia cmdlet . Aby uzyskać więcej informacji, zobacz about_Providers.
  • Zamapowane dyski sieciowe utworzone przy użyciu parametru Persist polecenia cmdlet New-PSDrive są specyficzne dla konta użytkownika. Zamapowane dyski sieciowe utworzone w sesjach, które są uruchamiane z opcją Uruchom jako administrator lub poświadczenia innego użytkownika nie są widoczne w sesjach, które są uruchamiane bez jawnych poświadczeń lub przy użyciu poświadczeń bieżącego użytkownika.