about_providers

主题
    about_Providers

简短说明
    描述 Windows PowerShell 提供程序如何使用户能够访问在无这些提供程序时很难从命令行访问的
    数据和组件。数据以类似于文件系统驱动器的一致格式提供。


详细说明
    Windows PowerShell 提供程序是基于 Microsoft .NET Framework 的程序,它们使存储于专
    用数据存储中的数据在 Windows PowerShell 中可用,以便于您查看和管理这些数据。
 

    提供程序公开的数据存储在驱动器中,您可以像在硬盘驱动器上一样通过路径访问这些数据。可以使用
    提供程序支持的任何内置 cmdlet 管理提供程序驱动器中的数据。此外,可以使用专门针对这些数据设计
    的自定义 cmdlet。


    提供程序在内置 cmdlet 中添加动态参数。只有当 cmdlet 与提供程序数据一起使用时,这些参数才可用。


内置提供程序
    Windows PowerShell 包括一组内置提供程序,它们可以用于访问不同类型的数据存储。


    提供程序        驱动器     数据存储
    -----------------   ------------        ------------------------------
    Alias       Alias:      Windows PowerShell 别名
 
    Certificate     Cert:       用于数字签名的 x509 证书

    EnvironmentWindows  Env:        环境变量

    FileSystem      *       文件系统驱动器、目录和文件

    Function        Function:   Windows PowerShell 函数

    Registry        HKLM:, HKCU     Windows 注册表

    Variable        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 来创建新的文件或文件夹。在 Registry 提供程序支持的驱动器中,可以使用 
    New-Item 来创建新的注册表项。在 Alias: 驱动器中,可以使用 New-Item 来创建新的别名。
 

    有关以下任何 cmdlet 的详细信息,请键入:

        get-help <cmdlet-name> -detailed

    
    CHILDITEM CMDLET
        Get-ChildItem

    CONTENT CMDLET
        Add-Content
        Clear-Content
        Get-Content
        Set-Content

    ITEM 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

    LOCATION CMDLET
        Get-Location
        Pop-Location
        Push-Location
        Set-Location

    PATH 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


浏览分层数据
    可以像浏览硬盘驱动一样浏览提供程序驱动器。如果数据位于项目内的
    项目层次结构中,请使用反斜杠 (\) 来指示子项。使用下面的格式:

    drive:\location\child-location\...


    例如,若要将位置更改到 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 <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