共用方式為


Get-PSDrive

取得目前工作階段中的磁碟驅動器。

語法

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

Description

Get-PSDrive Cmdlet 會取得目前會話中的磁碟驅動器。 您可以在工作階段中取得特定磁碟驅動器或所有磁碟驅動器。

此 Cmdlet 會取得下列類型的磁碟驅動器:

  • 計算機上的 Windows 邏輯磁碟驅動器,包括對應至網路共用的磁碟驅動器。
  • Windows PowerShell 提供者公開的磁碟驅動器(例如 Certificate:、Function:和 Alias: 磁碟驅動器),以及 Windows PowerShell 登錄提供者公開的 HKLM: 和 HKCU:磁盤驅動器。
  • 會話指定的暫存磁碟驅動器和您使用 New-PSDrive Cmdlet 建立的持續性對應網路驅動器機。

從 Windows PowerShell 3.0 開始,New-PSDrive Cmdlet Persist 參數可以建立本機電腦上儲存的對應網路驅動器機,並可在其他會話中使用。 如需詳細資訊,請參閱 New-PSDrive。

此外,從 Windows PowerShell 3.0 開始,當外部磁碟驅動器連線到計算機時,Windows PowerShell 會自動將 PSDrive 新增至代表新磁碟驅動器的文件系統。 您不需要重新啟動 Windows PowerShell。 同樣地,當外部磁碟驅動器與計算機中斷連線時,Windows PowerShell 會自動刪除代表已移除磁碟驅動器的 PSDrive。

範例

範例 1:取得目前會話中的磁碟驅動器

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

此命令會取得目前會話中的磁碟驅動器。

輸出會顯示硬碟 (C:)、CD-ROM 磁碟驅動器 (D:),以及 Windows PowerShell 提供者公開的磁碟驅動器(Alias:、Cert:、Env:、Function:、HKCU:、HKLM:和 Variable:)。

範例 2:在計算機上取得磁碟驅動器

PS C:\> Get-PSDrive D

Name       Provider      Root
----       --------      ----
D          FileSystem    D:\

此命令會取得電腦上的 D: 磁碟驅動器。 請注意,命令中的驅動器號後面沒有冒號。

範例 3:取得 Windows PowerShell 檔案系統提供者支援的所有磁碟驅動器

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

此命令會取得 Windows PowerShell FileSystem 提供者支援的所有磁碟驅動器。 這包括使用 New-PSDrive Cmdlet 建立的固定磁碟驅動器、邏輯磁碟分區、對應的網路驅動器機和暫存磁碟驅動器。

範例 4:檢查磁碟驅動器是否使用作為 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
}

此命令會檢查 X 磁碟驅動器是否已經作為 Windows PowerShell 磁碟驅動器名稱使用中。 如果沒有,命令會使用 New-PSDrive Cmdlet 來建立對應至 HKLM:\SOFTWARE 登錄機碼的暫存磁碟驅動器。

範例 5:比較文件系統磁碟驅動器的類型

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

此範例會比較 get-PSDrive 所顯示的文件系統磁碟驅動器類型,Get-PSDrive 使用其他方法顯示。 此範例示範在 Windows PowerShell 中顯示磁碟驅動器的不同方式,並顯示使用 New-PSDrive Cmdlet 建立的暫存會話特定磁碟驅動器只能在 Windows PowerShell 中存取。

第一個命令會使用 Get-PSDrive 來取得工作階段中的所有檔案系統磁碟驅動器。 這包括使用 New-PSDrivePersist 參數所建立的固定磁碟驅動器 (C: 和 D:),以及使用 New-PSDrive 建立的兩個暫存 Windows PowerShell 磁盤驅動器 (Y: 和 Z:),這些磁碟驅動器是使用 New-PSDrive 建立,而沒有 Persist 参数。

net use 命令會顯示 Windows 對應網路驅動器機,只顯示 X 磁碟驅動器。 它不會顯示由 New-PSDrive所建立的 Y: 和 Z: 磁碟驅動器。 它會顯示 X: 磁碟驅動器也對應至 \\Server01\Public。

第三個命令使用 Microsoft .NET Framework System.IO.DriveInfo 類別的 GetDrives 方法。 此命令會取得 Windows 檔案系統磁碟驅動器,包括磁碟驅動器 X:,但不會取得 New-PSDrive所建立的暫存磁碟驅動器。

第四個命令會使用 Get-WmiObject Cmdlet 來取得 Win32_LogicalDisk 類別的實例。 它會傳回 C:、D:和 X: 磁碟驅動器,但不會傳回由 new-PSDrive所建立的暫存磁碟驅動器。

最後一個命令會使用 Get-WmiObject Cmdlet 來顯示 Win32_NetworkConnection 類別的實例。 如同 net use,它只會傳回由 new-PSDrive 所建立的永續性 X: 磁碟驅動器。

參數

-LiteralName

指定磁碟驅動器的名稱。

LiteralName 的值會與類型完全相同。 不會將任何字元解譯為通配符。 如果名稱包含逸出字元,請以單引弧括住它。 單引號會告知 Windows PowerShell 不要將任何字元解譯為逸出序列。

類型:String[]
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Name

指定此 Cmdlet 在作業中取得的磁碟驅動器名稱或名稱,做為字串數位。 輸入沒有冒號的磁碟驅動器名稱或字母(:)。

類型:String[]
Position:0
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-PSProvider

指定做為字串陣列的 Windows PowerShell 提供者。 此 Cmdlet 只會取得此提供者支援的磁碟驅動器。 輸入提供者的名稱,例如 FileSystem、Registry 或 Certificate。

類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-Scope

指定此 Cmdlet 取得磁碟驅動器的範圍。

此參數可接受的值為:

  • 全球
  • 當地
  • 腳本
  • 相對於目前範圍的數位(0 到範圍的數目,其中0是目前的範圍,1是其父系)。 “Local” 是預設值。 如需詳細資訊,請參閱 about_Scopes (https://go.microsoft.com/fwlink/?LinkID=113260)。
類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-UseTransaction

在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。

類型:SwitchParameter
別名:usetx
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

None

您無法使用管線將物件傳送至此 Cmdlet。

輸出

PSDriveInfo

此 Cmdlet 會傳回代表會話中磁碟驅動器的物件。

備註

  • 此 Cmdlet 的設計目的是要處理任何提供者所公開的數據。 若要列出會話中可用的提供者,請使用 Get-PSProvider Cmdlet。 如需詳細資訊,請參閱 about_Providers
  • 使用 New-PSDrive Cmdlet Persist 參數所建立的對應網路驅動器機是使用者帳戶特有的。 您在會話中建立的對應網路驅動器機,這些磁碟驅動器是以 [以系統管理員身分執行] 選項或以其他使用者的認證啟動的會話中看不到的,這些會話是在沒有明確認證或目前使用者的認證的情況下啟動的。