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