应用到: 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
* FileSystem 驱动器在每个系统上有所不同。
你还可以创建你自己的 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 创建一个新项目。在 FileSystem 提供程序支持的 C:驱动器中,你可以使用 New-Item 创建新文件或文件夹。在受注册表提供程序支持的驱动器中,你可以使用 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\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