Get-PackageProvider

返回连接到包管理的包提供程序的列表。

语法

Get-PackageProvider
   [[-Name] <String[]>]
   [-ListAvailable]
   [-Force]
   [-ForceBootstrap]
   [<CommonParameters>]

说明

Get-PackageProvider cmdlet 返回连接到包管理的包提供程序的列表。 这些提供程序的示例包括 PSModule、NuGet 和 Chocolatey。 可以基于一个或多个提供程序名称的全部或部分筛选结果。

示例

示例 1:获取当前加载的所有包提供程序

Get-PackageProvider

此命令获取当前在本地计算机上加载的所有包提供程序的列表。

示例 2:获取所有可用的包提供程序

Get-PackageProvider -ListAvailable

此命令获取本地计算机上可用的所有包提供程序的列表。

示例 3:动态获取包提供程序

Get-PackageProvider -Name "Chocolatey" -ForceBootstrap

如果计算机未安装 Chocolatey 提供程序,此命令会自动安装 Chocolatey 提供程序。

参数

-Force

指示此 cmdlet 强制使用此 cmdlet 执行的所有其他可强制操作。 在 中 Get-PackageProvider,这意味着 Force 参数的作用与 ForceBootstrap 参数相同。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceBootstrap

指示此 cmdlet 强制包管理自动安装包提供程序。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ListAvailable

获取所有已安装的提供程序。 Get-PackageProviderPSModulePath 环境变量以及包提供程序程序集文件夹中列出的路径中获取提供程序:

  • $env:ProgramFiles\PackageManagement\ProviderAssemblies
  • $env:LOCALAPPDATA\PackageManagement\ProviderAssemblies

如果没有此参数, Get-PackageProvider 则仅获取当前会话中加载的提供程序。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定一个或多个提供程序名称或部分提供程序名称。 用逗号分隔多个提供程序名称。 此参数的有效值包括随包一起安装的提供程序的名称;PackageManagement 附带一组默认提供程序,包括 PSModuleMSI 提供程序。

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输出

Microsoft.PackageManagement.Implementation.PackageProvider

此 cmdlet 为与参数匹配的每个已安装包提供程序返回 PackageProvider 对象。 默认情况下,它返回每个已安装的包提供程序。

备注

重要

自 2020 年 4 月起,PowerShell 库已不再支持传输层安全性 (TLS) 版本 1.0 和 1.1。 如果你使用的不是 TLS 1.2 或更高版本,那么,在尝试访问 PowerShell 库时,将会收到错误。 使用以下命令可以确定使用的是 TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

有关详细信息,请参阅 PowerShell 博客中的公告