about_Providers
適用於: Windows PowerShell 2.0, Windows PowerShell 3.0
主題
about_Providers
簡短描述
描述 Windows PowerShell 提供者如何提供在命令列中無法輕易存取之資料與元件的存取權限。資料以一致的格式呈現,類似於檔案系統磁碟機。
詳細描述
Windows PowerShell 提供者是 Microsoft .NET Framework 架構的程式,可讓您在 Windows PowerShell 中使用特殊之資料存放區中的資料,以便輕鬆地加以檢視和管理。
提供者所公開的資料會出現在磁碟機中,而您可在路徑中存取資料,就如同在硬碟上一樣。您可以使用任何提供者所支援的內建 Cmdlet 來管理提供者磁碟機中的資料。而且您還可以使用特別針對資料所設計的自訂 Cmdlet。
提供者也可以將動態參數加入內建 Cmdlet 中。這些是只有當您搭配提供者資料使用 Cmdlet 時,才能使用的參數。
內建提供者
Windows PowerShell 包含一組內建提供者,您可加以使用來存取不同類型的資料存放區。
Provider Drive Data store
-------- ----- ----------
Alias Alias: Windows PowerShell aliases
Certificate Cert: x509 certificates for digital signatures
Environment Env: Windows environment variables
FileSystem * File system drives, directories, and files
Function Function: Windows PowerShell functions
Registry HKLM:, HKCU: Windows registry
Variable Variable: Windows PowerShell variables
WSMan WSMan: WS-Management configuration information
* 每個系統上的檔案系統磁碟機都有所不同。
您也可以建立自己的 Windows PowerShell 提供者,也可以安裝由其他人開發的提供者。若要列出您的工作階段中可用的提供者,請輸入:
get-psprovider
安裝和移除提供者
Windows PowerShell 提供者會在 Windows PowerShell 嵌入式管理單元中傳送給您,也就是編譯成為.dll 檔案的 .NET Framework 架構程式。嵌入式管理單元可包含提供者和 Cmdlet。
使用提供者功能之前,您必須安裝嵌入式管理單元並將其加入您的 Windows PowerShell 工作階段中。如需詳細資訊,請參閱 about_PSSnapins。
雖然您可以從目前的工作階段移除提供者的 Windows PowerShell 嵌入式管理單元,但您不能解除安裝提供者。如果您這樣做,將會移除嵌入式管理單元的所有內容,包括其 Cmdlet。
您也可以使用 Remove-PSDrive Cmdlet 來移除目前工作階段中的任何磁碟機。磁碟機上的這項資料不會受到影響,但在工作階段中已無法再使用該磁碟機。
檢視提供者
若要檢視您電腦上的 Windows PowerShell 提供者,請輸入:
get-psprovider
輸出會列出內建提供者,以及您加入到工作階段的提供者。
提供者 CMDLET
下列 Cmdlet 是設計來與任何提供者所公開的資料搭配使用。您可以透過相同的方式使用相同的 Cmdlet 來管理提供者所公開之不同類型的資料。在您學習如何管理一個提供者的資料之後,您便可以使用相同的程序處理來自任何提供者的資料。
例如,New-Item Cmdlet 會建立新項目。在檔案系統提供者支援的 C: 磁碟機中,您可以使用 New-Item 來建立新的檔案或資料夾。在登錄提供者支援的磁碟機中,您可以使用 New-Item 來建立新的登錄機碼。在 Alias: 磁碟機中,您可以使用 New-Item 來建立新的別名。
如需任何下列 Cmdlet 的詳細資訊,請輸入:
get-help <cmdlet-name> -detailed
CHILDITEM CMDLETS
Get-ChildItem
CONTENT CMDLETS
Add-Content
Clear-Content
Get-Content
Set-Content
ITEM CMDLETS
Clear-Item
Copy-Item
Get-Item
Invoke-Item
Move-Item
New-Item
Remove-Item
Rename-Item
Set-Item
ITEMPROPERTY CMDLETS
Clear-ItemProperty
Copy-ItemProperty
Get-ItemProperty
Move-ItemProperty
New-ItemProperty
Remove-ItemProperty
Rename-ItemProperty
Set-ItemProperty
LOCATION CMDLETS
Get-Location
Pop-Location
Push-Location
Set-Location
PATH CMDLETS
Join-Path
Convert-Path
Split-Path
Resolve-Path
Test-Path
PSDRIVE CMDLETS
Get-PSDrive
New-PSDrive
Remove-PSDrive
PSPROVIDER CMDLETS
Get-PSProvider
VIEWING PROVIDER DATA
提供者的主要優點是其以熟悉且一致的方式公開其資料。資料呈現的模型是檔案系統磁碟機。
若要使用提供者公開的資料,您可以將其視為硬碟上的資料一般,加以檢視、瀏覽及變更。因此,有關提供者最重要的資訊就是其所支援的磁碟機名稱。
磁碟機會列在 Get-PSProvider Cmdlet 的預設顯示中,但您可以使用 Get-PSDrive Cmdlet 來取得提供者磁碟機的相關資訊。例如,若要取得 Function: 磁碟機的所有屬性,請輸入:
get-psdrive Function | format-list *
您可以檢視和瀏覽提供者磁碟機中的資料,就像在檔案系統磁碟機上一樣。
若要檢視提供者磁碟機的內容,請使用 Get-Item 或 Get-ChildItem Cmdlet。輸入後面接著冒號 (:) 的磁碟機名稱。例如,若要檢視 Alias: 磁碟機的內容,請輸入:
get-item alias:
只需在路徑中包含磁碟機名稱,您便可從另一個磁碟機檢視和管理任何磁碟機中的資料。例如,若要從其它磁碟機檢視 HKLM: 磁碟機中的 HKLM\Software 登錄機碼,請輸入:
get-childitem hklm:\software
若要開啟磁碟機,請使用 Set-Location Cmdlet。指定磁碟機路徑時,請記得加上冒號。例如,若要將您的位置變更為 Cert: 磁碟機的根目錄,請輸入:
set-location cert:
然後,若要檢視 Cert: 磁碟機的內容,請輸入:
get-childitem
瀏覽階層式資料
您可以瀏覽提供者磁碟機,就像瀏覽硬碟一樣。如果資料排列方式為項目中包含項目的階層,請使用反斜線 (\) 來指出子項目。使用下列格式:
drive:\location\child-location\...
例如,若要將您的位置變更為 HKLM\Software 登錄機碼,請輸入 Set-Location 命令,像是:
set-location hklm:\software
您也可以使用相對位置參照。點 (.) 代表目前的位置。例如,如果您正位於 HKLM:\Software\Microsoft 登錄機碼,並且想要列出 HKLM:\Software\Microsoft\PowerShell 機碼中的登錄子機碼,請輸入下列命令:
get-childitem .\PowerShell
尋找動態參數
動態參數是由提供者加入到 Cmdlet 的 Cmdlet 參數。只有在 Cmdlet 與將其加入的提供者搭配使用時,才能使用這些參數。
例如,Cert: 磁碟機會將 CodeSigningCert 參數加入 Get-Item 和 Get-ChildItem Cmdlet 中。只有當您在 Cert: 磁碟機中使用 Get-Item 或 Get-ChildItem 時,才可以使用這個參數。
如需提供者支援的動態參數清單,請參閱提供者的說明檔。類型:
get-help <provider-name>
例如:
get-help certificate
深入了解提供者
雖然所有的提供者資料都會出現在磁碟機,且您使用相同的方法來加以瀏覽,但是兩者相似性僅只於此。提供者公開的資料存放區可以依據 Active Directory 位置和 Microsoft Exchange Server 信箱而有所不同。
如需有關個別 Windows PowerShell 提供者的相關資訊,請輸入:
get-help <ProviderName>
例如:
get-help registry
如需有關提供者的說明主題清單,請輸入:
get-help * -category provider
另請參閱
about_Locations
about_Path_Syntax