Get-PSDrive
取得目前工作階段中的 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: 磁碟機。
請參閱
概念
about_Providers
New-PSDrive
Remove-PSDrive
Get-Help
Get-Command
Get-Member