取得目前工作階段中的 Windows PowerShell 磁碟機。
語法
Get-PSDrive [-LiteralName] <string[]> [-PSProvider <string[]>] [-Scope <string>] [-UseTransaction] [<CommonParameters>] Get-PSDrive [[-Name] <string[]>] [-PSProvider <string[]>] [-Scope <string>] [-UseTransaction] [<CommonParameters>]
描述
Get-PSDrive Cmdlet 會取得目前工作階段中的 Windows PowerShell 磁碟機。您可以取得主控台中的特定或所有磁碟機。
Get-PSDrive 取得下列磁碟機:
-- 電腦上的 Windows 邏輯磁碟機,包含對應到網路共用的電腦。
-- Windows PowerShell 提供者公開的磁碟機 (例如 Certificate:、Function: 與 Alias: 磁碟機) 以及 Windows PowerShell 登錄提供者公開的 HKLM: 和 HKCU: 磁碟機。
-- 您使用 New-PSDrive 所建立的磁碟機。
Get-PSDrive 不會取得在 Windows PowerShell 主控台開啟後才加入或建立的 Windows 對應磁碟機。
參數
-LiteralName <string[]>
指定 Windows PowerShell 磁碟機的名稱。
LiteralName 會使用實際輸入的內容做為參數值。任何字元均不被解譯成萬用字元。如果名稱中包含逸出字元,請將其置於單引號內。單引號係告訴 Windows PowerShell 不要將任何字元解譯成逸出序列。
必要? |
true |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-Name <string[]>
只取得指定的磁碟機。先輸入磁碟機名稱或代號,不要包含冒號 (:)。
必要? |
false |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-PSProvider <string[]>
只會取得指定 Windows PowerShell 提供者所支援的磁碟機。輸入提供者名稱,如 FileSystem、Registry 或 Certificate。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-Scope <string>
只會取得指定範圍中的 Windows PowerShell 磁碟機。有效的值包括 "Global"、"Local"、"Script" 或相對於目前範圍的數字 (從 0 到範圍總數,其中 0 代表目前範圍,1 代表其上層)。預設值為 "Local"。如需詳細資訊,請參閱 about_Scopes。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-UseTransaction
將命令加入現用交易中。此參數只有當交易進行中時才有效。如需詳細資訊,請參閱 about_Transactions。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
無 您無法經由管道將物件輸出至 Get-PSDrive。 |
輸出 |
System.Management.Automation.PSDriveInfo Get-PSDrive 會傳回代表工作階段中 Windows PowerShell 磁碟機的物件。 |
附註
Get-PSDrive Cmdlet 設計的用意是要操作任一提供者所公開的資料。若要列出可在工作階段中使用的提供者,請輸入 "Get-PSProvider"。如需詳細資訊,請參閱 about_Providers。
範例 1
C:\PS>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 X FileSystem X:\ 描述 ----------- 這個命令會取得目前工作階段中的 Windows PowerShell 磁碟機。 輸出會顯示電腦上的硬碟 (C:) 與光碟機 (D:)、Windows PowerShell 提供者公開的磁碟機 (Alias:、Cert:、Env:、Function:、HKCU:、HKLM: 與 Variable:) 及對應到網路共用區的磁碟機 (X:)。
範例 2
C:\PS>get-psdrive d Name Provider Root ---- -------- ---- D FileSystem D:\ 描述 ----------- 這個命令顯示電腦上的 D: 磁碟機。請注意,磁碟機代號後面不要加上冒號 (:)。
範例 3
C:\PS>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 所建立且對應到檔案系統磁碟機的磁碟機。 這個範例顯示 New-PSDrive 所建立的磁碟機具有 Root 屬性值中對應位置的名稱。Windows 磁碟機只有磁碟機代號的根目錄。
範例 4
C:\PS>if (!(get-psdrive X)) { new-psdrive -name X -psprovider Registry -root HKLM:\Network } else { write-host "The X: drive is already in use." } 描述 ----------- 這個命令會檢查並確認 X 磁碟機是否已經做為 Windows PowerShell 磁碟機名稱之用。如果沒有,此命令會使用 New-PSDrive Cmdlet 建立對應至 HKLM:\Network 登錄機碼的 Windows PowerShell 磁碟機。
範例 5
C:\PS>get-psdrive -provider filesystem C:\PS> get-psdrive -provider filesystem Name Provider Root ---- -------- ---- C FileSystem C:\ D FileSystem D:\ X FileSystem X:\ Y FileSystem \\Server01\Public Z FileSystem C:\Windows\System32 C:\PS> net use New connections will be remembered. Status Local Remote Network ------------------------------------------------------------------------------- X: \\Server01\Public Microsoft Windows Network C:\PS> [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 C:\PS> 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 C:\PS> get-wmiobject win32_networkconnection LocalName RemoteName -------------- ------------ x: \\server01\public 描述 ----------- 這個範例將 Get-PSDrive 顯示的檔案系統磁碟機類型與利用其他方法顯示的磁碟機進行比較。本範例示範在 Windows PowerShell 中顯示磁碟機的不同方法,同時示範使用 New-PSDrive 建立的磁碟機,只能夠在 Windows PowerShell 中進行存取。 第一個命令使用 Get-PSDrive 取得 Windows PowerShell 主控台中的所有檔案系統磁碟機。這包含固定磁碟機 (C: 與 D:)、對應的網路磁碟機 (X:) 以及使用 New-PsDrive 所建立的兩個 Windows PowerShell 磁碟機 (Y: 與 Z:)。 顯示 Windows 對應網路共用的 "net use" 命令只會顯示 X 磁碟機。該命令不會顯示 New-PSDrive 所建立的磁碟機。它顯示 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",它只會傳回 X: 磁碟機。
請參閱