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-PSDrive
i 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
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.