共用方式為


about_Providers

主題
    about_Providers

簡短描述
    說明 Windows PowerShell 提供者如何提供存取途徑,以存取不易從命令列存取的資
    料和元件。資料的格式一致,類似於檔案系統磁碟機的格式。


完整描述
    Windows PowerShell 提供者是 Microsoft .NET Framework 架構的程式,會將特殊
    資料存放區內的資料提供給 Windows PowerShell 使用,因此您可以檢視和管理這
    些資料。
 

    提供者所公開的資料會出現在一個磁碟機中,您可以利用如同存取硬碟的路徑來存取
    這些資料。您可以使用提供者支援的任何內建 Cmdlet 來管理提供者磁碟機上的資
    料,也可以使用專為操控資料而特別設計的自訂 Cmdlet。


    提供者也能為內建 Cmdlet 加入動態參數。
    這些參數僅適用於您要搭配 Cmdlet 處理提供者資料時。


內建提供者
    Windows PowerShell 隨附一組內建提供者,可用於存取下列幾種不同的資料存放區。


    提供者                 磁碟機            資料存放區
    -----------------      -----------       -------------------------------
    別名                   Alias:            Windows PowerShell 別名
 
    憑證         Cert:         數位簽章所使用的 x509 憑證

    環境         Env:              Windows 環境變數

    FileSystem         *             檔案系統磁碟機、目錄和檔案

    函數                   Functions:        Windows PowerShell 函數

    登錄                   HKLM:, HKCU       Windows 登錄

    變數                   Variable:         Windows PowerShell 變數

    WS-Management          WSMan             WS-Management 設定資訊

   *FileSystem 磁碟機會隨系統而不同。

    您也可以自行建立 Windows PowerShell 提供者或安裝由他人所開發的提供者。若要
    列出工作階段可用的提供者,請輸入:

       get-psprovider


安裝及移除提供者
    Windows PowerShell 提供者會傳遞到 Windows PowerShell 嵌入式管理單元,後者
    則是編譯成 .dll 檔案的 .NET Framework 架構程式。嵌入式管理單元可包含提供
    者和 cmdlet。


    在您使用提供者的功能之前,必須先安裝嵌入式管理單元,然後將其新增至
    Windows PowerShell 工作階段。如需詳細資訊,請參閱 about_PsSnapins。


    您無法解除安裝提供者,只能從目前工作階段移除提供者的 
    Windows PowerShell 嵌入式管理單元。進行移除時,將會移除嵌入式管理單元的全部
    內容,包括 Cmdlet 在內。


    若要從目前工作階段移除提供者,請使用 Remove-PsSnapin Cmdlet。這個 Cmdlet 
    並不會解除安裝提供者,只不過您已無法在工作階段中使用該提供者。


    您也可以使用 Remove-PsDrive Cmdlet,從目前工作階段移除任何磁碟機。磁碟機上
    的資料不會受影響,但該工作階段已無法使用這個磁碟機。


檢視提供者
    若要檢視電腦上的 Windows PowerShell 提供者,請輸入:

    get-psprovider


    輸出會列出內建提供者,以及您已新增至工作階段的提供者。

提供者 CMDLET
    下列 Cmdlet 設計的用意是要操作任一提供者所公開的資料。使用這些 Cmdlet 的方
    式,與提供者所公開的各種資料類型的管理方式相同。了解如何管理一個提供者的資
    料之後,您就可以使用相同程序來管理任何提供者提供的資料。
     

    例如,New-Item Cmdlet 會建立新的項目。在 FileSystem 提供者支援的 C: 磁碟機
    上,您可以使用 New-Item 來建立新的檔案或資料夾。至於登錄提供者支援的磁碟
    機,可使用 New-Item 建立新的登錄機碼。在 Alias: 磁碟機上,New-Item 則可用
    來建立新的別名。
 

    如需下列任何 Cmdlet 的詳細資訊,請輸入:

        get-help <Cmdlet 名稱> -detailed

    
    CHILDITEM CMDLET
        Get-ChildItem

    內容 CMDLET
        Add-Content
        Clear-Content
        Get-Content
        Set-Content

    項目 CMDLET
        Clear-Item
        Copy-Item
        Get-Item
        Invoke-Item
        Move-Item
        New-Item
        Remove-Item
        Rename-Item
        Set-Item

    ITEMPROPERTY CMDLET
        Clear-ItemProperty
        Copy-ItemProperty
        Get-ItemProperty
        Move-ItemProperty
        New-ItemProperty
        Remove-ItemProperty
        Rename-ItemProperty
        Set-ItemProperty

    位置 CMDLET
        Get-Location
        Pop-Location
        Push-Location
        Set-Location

    路徑 CMDLET
        Join-Path
        Convert-Path
        Split-Path
        Resolve-Path
        Test-Path

    PSDRIVE CMDLET
        Get-PSDrive
        New-PSDrive
        Remove-PSDrive

    PSPROVIDER CMDLET
        Get-PSProvider


檢視提供者資料
    提供者的主要優點在於,以使用者熟悉且一致的方式公開資料。用於呈現資料的模型
    是檔案系統磁碟機。
 

    您可以檢視、移動和變更提供者所公開的資料,就像使用硬碟上的資料一樣。因此,
    關於提供者最重要的資訊,就是它所支援的磁碟機名稱。


    磁碟機會列在 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


移動階層式資料
    您可以比照使用硬碟的方式來移動提供者磁碟機。如果資料排列方式為項目中包含項
    目的階層,請使用反斜線 (\) 表示子項目。請使用下列格式:

    磁碟機:\位置\下層位置\...


    例如,若要將您的位置變更為 HKLM\Software 登錄機碼,請輸入 Set-Location 命
    令,如下所示:

        set-location hklm:\software


    您也可以使用相對位置參照。點 (.) 代表目前位置。例如,如果目前位置為 
    HKLM:\Software\Microsoft 登錄機碼,而您想要列出 
    HKLM:\Software\Micrsoft\PowerShell 機碼的登錄子機碼清單,請輸入下列
    命令:

        get-childitem .\powershell


尋找動態參數
    動態參數是指由提供者加入至 Cmdlet 的 Cmdlet 參數,這些參數只適用於當 Cmdlet
    與加入參數的提供者搭配使用時。
 

    例如,Cert: 磁碟機會將 CodeSigningCert 參數加入至 Get-Item 和 Get-ChildItem 
    Cmdlet。如此,只有當您在 Cert: 磁碟機中使用 Get-Item 或 Get-ChildItem 時,
    才能使用這個參數。


    如需提供者支援的動態參數清單,請參閱提供者的說明檔案。請輸入:

    get-help <提供者名稱>


    例如:

    get-help certificate


進一步了解提供者
    雖然所有的提供者資料都呈現於磁碟機上,只要比照同樣的方式即可移動資料,但其
    間的相似性也僅止於此。提供者所公開的資料存放區變化多端,有如
    Active Directory 位置和 Microsoft Exchange Server 信箱。


    如需個別 Windows PowerShell 提供者的詳細資訊,請輸入:

    get-help <提供者名稱>


    例如:

    get-help registry


    如需提供者的說明主題清單,請輸入:

<tab>get-help * -category provider<tab><tab>


請參閱
    about_Locations
    about_Path_Syntax