Get-PSDrive
Hämtar enheter i den aktuella sessionen.
Syntax
Get-PSDrive
[[-Name] <String[]>]
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
Get-PSDrive
[-LiteralName] <String[]>
[-Scope <String>]
[-PSProvider <String[]>]
[<CommonParameters>]
Description
Cmdleten Get-PSDrive
hämtar enheterna i den aktuella sessionen. Du kan hämta en viss enhet eller alla enheter i sessionen.
Den här cmdleten hämtar följande typer av enheter:
- Logiska Windows-enheter på datorn, inklusive enheter som mappats till nätverksresurser.
- Enheter som exponeras av PowerShell-leverantörer (t.ex. enheterna Certificate:, Function:, and Alias: drives) och HKLM: och HKCU: enheter som exponeras av Windows PowerShell Registry-providern.
- Sessionsdefinierade tillfälliga enheter och beständiga mappade nätverksenheter som du skapar med hjälp av cmdleten New-PSDrive.
Från och med Windows PowerShell 3.0 kan parametern Persist i cmdleten New-PSDrive
skapa mappade nätverksenheter som sparas på den lokala datorn och som är tillgängliga i andra sessioner. Mer information finns i New-PSDrive.
Från och med Windows PowerShell 3.0, när en extern enhet är ansluten till datorn, lägger Windows PowerShell automatiskt till en PSDrive i filsystemet som representerar den nya enheten. Du behöver inte starta om Windows PowerShell. På samma sätt, när en extern enhet är frånkopplad från datorn, tar Windows PowerShell automatiskt bort PSDrive som representerar den borttagna enheten.
Exempel
Exempel 1: Hämta enheter i den aktuella sessionen
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
Det här kommandot hämtar enheterna i den aktuella sessionen.
Utdata visar hårddisken (C:), CD-ROM-enheten (D:) och de enheter som exponeras av Windows PowerShell providers (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:, och Variable:).
Exempel 2: Hämta en enhet på datorn
PS C:\foo> Get-PSDrive D
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
D 1211.06 123642.32 FileSystem D:\
Det här kommandot hämtar D: -enheten på datorn. Observera att enhetsbeteckningen i kommandot inte följs av ett kolon.
Exempel 3: Hämta alla enheter som stöds av Windows PowerShell-filsystemsprovidern
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
Det här kommandot hämtar alla enheter som stöds av Windows PowerShell FileSystem-providern. Detta omfattar fasta enheter, logiska partitioner, mappade nätverksenheter och tillfälliga enheter som du skapar med hjälp av cmdleten New-PSDrive.
Exempel 4: Kontrollera om en enhet används som Windows PowerShell enhetsnamn
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
}
Det här kommandot kontrollerar om X-enheten redan används som ett Windows PowerShell enhetsnamn.
Om det inte är det använder kommandot cmdleten New-PSDrive
för att skapa en tillfällig enhet som är mappad till registernyckeln HKLM:\SOFTWARE.
Exempel 5: Jämför typerna av filsystemenheter
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
I det här exemplet jämförs de typer av filsystemenheter som visas med Get-PSDrive
de som visas med hjälp av andra metoder. Det här exemplet visar olika sätt att visa enheter i Windows PowerShell och visar att sessionsspecifika enheter som skapats med hjälp av cmdleten New-PSDrive endast är tillgängliga i Windows PowerShell.
Det första kommandot använder Get-PSDrive
för att hämta alla filsystemenheter i sessionen. Detta inkluderar de fasta enheterna (C: och D:), en mappad nätverksenhet (G:) som skapades med hjälp av parametern Persist i New-PSDrive
och en PowerShell-enhet (T:) som skapades med hjälp New-PSDrive
av utan parametern Persist .
Kommandot net use visar Windows-mappade nätverksenheter, i det här fallet visas endast G-enheten. Den visar inte X:-enheten som skapades av New-PSDrive
. Det visar att G: -enheten också är mappad till \\Music\GratefulDead.
Det tredje kommandot använder metoden GetDrives i klassen Microsoft .NET Framework System.IO.DriveInfo. Det här kommandot hämtar Windows-filsystemenheter, inklusive enhet G:, men de enheter som skapas av hämtas inte av New-PSDrive
.
Det fjärde kommandot använder cmdleten Get-CimInstance
för att hämta instanserna av klassen Win32_LogicalDisk . Den returnerar enheterna A:, C:, D:, E:och G: men inte de enheter som skapats av New-PSDrive
.
Det sista kommandot använder cmdleten Get-CimInstance
för att visa instanserna av klassen Win32_NetworkConnection . Precis som med net use returnerar den bara den beständiga G:-enheten som skapats av New-PSDrive
.
Parametrar
-LiteralName
Anger namnet på enheten.
Värdet för LiteralName används exakt som det skrivs. Inga tecken tolkas som jokertecken. Om namnet innehåller escape-tecken omger du det inom enkla citattecken. Enkla citattecken talar om för Windows PowerShell att inte tolka några tecken som escape-sekvenser.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Anger namnet eller namnet på de enheter som cmdleten får i åtgärden som en strängmatris. Skriv enhetsnamnet eller bokstaven utan kolon (:).
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PSProvider
Anger Windows PowerShell providern som en strängmatris. Den här cmdleten hämtar endast de enheter som stöds av den här providern. Ange namnet på en provider, till exempel FileSystem, Registry eller Certificate.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
Anger i vilken omfattning den här cmdleten hämtar enheterna.
De acceptabla värdena för den här parametern är:
- Global
- Lokal
- Skript
- ett tal i förhållande till det aktuella omfånget (0 genom antalet omfång, där 0 är det aktuella omfånget och 1 är dess överordnade). "Lokal" är standardvärdet.
Mer information finns i about_Scopes.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar objekt som representerar enheterna i sessionen.
Kommentarer
- Den här cmdleten är utformad för att fungera med data som exponeras av alla leverantörer. Använd cmdleten för
Get-PSProvider
att lista de leverantörer som är tillgängliga i sessionen. Mer information finns i about_Providers. - Mappade nätverksenheter som skapas med hjälp av parametern Persist i cmdleten New-PSDrive är specifika för ett användarkonto. Mappade nätverksenheter som du skapar i sessioner som startas med alternativet Kör som administratör eller med en annan användares autentiseringsuppgifter visas inte i sessioner som startas utan uttryckliga autentiseringsuppgifter eller med den aktuella användarens autentiseringsuppgifter.