Udostępnij za pośrednictwem


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 cmdlet Get-PSDrive 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) oraz HKLM: i HKCU: dyski uwidocznione przez dostawcę rejestru programu Windows PowerShell.
  • Określone w sesji dyski tymczasowe i trwałe zamapowane dyski sieciowe tworzone przy użyciu polecenia cmdlet New-PSDrive.

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

Ponadto, począwszy od programu Windows PowerShell 3.0, gdy dysk zewnętrzny jest podłączony do komputera, program Windows PowerShell automatycznie dodaje usługę PSDrive do systemu plików reprezentującego nowy dysk. Nie trzeba ponownie uruchamiać programu Windows PowerShell. Podobnie, gdy dysk zewnętrzny zostanie odłączony od komputera, program 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 uwidocznione przez dostawców programu 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. Zwróć uwagę, że litera dysku w poleceniu nie jest po dwukropku.

Przykład 3. Pobieranie wszystkich dysków obsługiwanych przez dostawcę systemu plików programu 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 programu Windows PowerShell. Obejmuje to dyski stałe, partycje logiczne, zamapowane dyski sieciowe i dyski tymczasowe tworzone przy użyciu polecenia cmdlet New-PSDrive.

Przykład 4. Sprawdź, czy dysk jest używany jako nazwa dysku programu 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 programu Windows PowerShell. Jeśli tak nie jest, polecenie używa polecenia cmdlet New-PSDrive 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, które są wyświetlane przez Get-PSDrive z wyświetlanymi przy użyciu innych metod. W tym przykładzie pokazano różne sposoby wyświetlania dysków w programie Windows PowerShell i pokazano, że dyski specyficzne dla sesji utworzone przy użyciu polecenia cmdlet New-PSDrive są dostępne tylko w programie Windows PowerShell.

Pierwsze polecenie używa Get-PSDrive, aby pobrać wszystkie dyski systemu plików w sesji. Obejmuje to dyski stałe (C: i D:), zamapowany dysk sieciowy (G:), który został utworzony przy użyciu parametru PersistNew-PSDrivei dysku programu PowerShell (T:), który został utworzony przy użyciu New-PSDrive bez parametru Utrwalaj.

net use polecenie wyświetla zamapowane dyski sieciowe systemu Windows, w tym przypadku wyświetla tylko dysk G. Nie wyświetla dysku X: utworzonego przez 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 systemu Windows, w tym dysk G:, ale nie pobiera dysków utworzonych przez New-PSDrive.

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

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

Parametry

-LiteralName

Określa nazwę dysku.

Wartość LiteralName jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli nazwa zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy informują program Windows PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

Typ:String[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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 (:).

Typ:String[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-PSProvider

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

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Scope

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

Dopuszczalne wartości tego parametru to:

  • Globalny
  • Lokalny
  • 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.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych: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 polecenia cmdlet Get-PSProvider. 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 tworzone w sesjach rozpoczynających się od opcji Uruchom jako administrator lub przy użyciu poświadczeń 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.