Dela via


Get-PSDrive

Hämtar enheter i den aktuella sessionen.

Syntax

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

Description

Get-PSDrive-cmdleten 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 Windows PowerShell providers (till exempel certifikat:, funktion:och alias: enheter) 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 ä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       Provider      Root
----       --------      ----
Alias      Alias
C          FileSystem    C:\
Cert       Certificate   \
D          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:\> Get-PSDrive D

Name       Provider      Root
----       --------      ----
D          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       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

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       Provider      Root
----       --------      ----
C          FileSystem    C:\
D          FileSystem    D:\
X          FileSystem    X:\
Y          FileSystem    \\Server01\Public
Z          FileSystem    C:\Windows\System32

PS C:\> net use
New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
X:        \\Server01\Public         Microsoft Windows Network

PS C:\> [System.IO.DriveInfo]::GetDrives()

Name               : C:\
DriveType          : Fixed
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 39831498752
TotalFreeSpace     : 39831498752
TotalSize          : 79900368896
RootDirectory      : C:\
VolumeLabel        :
Name               : D:\
DriveType          : CDRom
DriveFormat        :
IsReady            : False
AvailableFreeSpace :
TotalFreeSpace     :
TotalSize          :
RootDirectory      : D:\
VolumeLabel        :
Name               : X:\
DriveType          : Network
DriveFormat        : NTFS
IsReady            : True
AvailableFreeSpace : 36340559872
TotalFreeSpace     : 36340559872
TotalSize          : 36413280256
RootDirectory      : X:\
VolumeLabel        : D_Drive

PS C:\> Get-WmiObject Win32_LogicalDisk

DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 39831252992
Size         : 79900368896
VolumeName   :
DeviceID     : D:
DriveType    : 5
ProviderName :
FreeSpace    :
Size         :
VolumeName   :
DeviceID     : X:
DriveType    : 4
ProviderName : \\server01\public
FreeSpace    : 36340559872
Size         : 36413280256
VolumeName   : D_Drive

PS C:\> Get-WmiObject Win32_NetworkConnection

LocalName                     RemoteName
--------------               ------------
x:                            \\server01\public

I det här exemplet jämförs de typer av filsystemenheter som visas av Get-PSDrive med 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 tillfälliga, 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 (X:) som skapades med hjälp av parametern Persist i New-PSDrive och två tillfälliga Windows PowerShell-enheter (Y: och Z:) som skapades med hjälp av New-PSDrive utan parametern Persist.

Ett net use-kommando, som visar Windows-mappade nätverksenheter, visar endast X-enheten. Den visar inte enheterna Y: och Z: som skapades av New-PSDrive. Den visar att X: -enheten också är mappad till \\Server01\Public.

Det tredje kommandot använder metoden GetDrives i klassen Microsoft .NET Framework System.IO.DriveInfo. Det här kommandot hämtar Windows-filsystemenheterna, inklusive enhet X:, men den hämtar inte de tillfälliga enheter som skapats av New-PSDrive.

Det fjärde kommandot använder cmdleten Get-WmiObject för att hämta instanserna av klassen Win32_LogicalDisk . Den returnerar enheterna C:, D:och X: men inte de tillfälliga enheter som skapats av New-PSDrive.

Det sista kommandot använder cmdleten Get-WmiObject för att visa instanserna av klassen Win32_NetworkConnection . Precis som med nettoanvändning returnerar den bara den beständiga X:-enheten som skapades 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 (https://go.microsoft.com/fwlink/?LinkID=113260).
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UseTransaction

Inkluderar kommandot i den aktiva transaktionen. Den här parametern är bara giltig medan en transaktion pågår. Mer information finns i about_Transactions.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

PSDriveInfo

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. Om du vill visa en lista över de leverantörer som är tillgängliga i sessionen använder du cmdleten Get-PSProvider. 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.