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-PSDrive
Persist 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-PSDrive
Persist 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-PSDrive
program .
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-PSDrive
program .
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
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.