Get-Package

返回随 PackageManagement 一起安装的所有软件包的列表。

语法

Get-Package
   [[-Name] <String[]>]
   [-RequiredVersion <String>]
   [-MinimumVersion <String>]
   [-MaximumVersion <String>]
   [-AllVersions]
   [-Force]
   [-ForceBootstrap]
   [-ProviderName <String[]>]
   [-Destination <String>]
   [-ExcludeVersion]
   [-Scope <String>]
   [-SkipDependencies]
   [<CommonParameters>]
Get-Package
   [[-Name] <String[]>]
   [-RequiredVersion <String>]
   [-MinimumVersion <String>]
   [-MaximumVersion <String>]
   [-AllVersions]
   [-Force]
   [-ForceBootstrap]
   [-ProviderName <String[]>]
   [-Scope <String>]
   [-PackageManagementProvider <String>]
   [-Type <String>]
   [-AllowClobber]
   [-SkipPublisherCheck]
   [-InstallUpdate]
   [-NoPathUpdate]
   [-AllowPrereleaseVersions]
   [<CommonParameters>]

说明

Get-Package cmdlet 返回随 PackageManagement 一起安装的本地计算机上所有软件包的列表。 可以在远程计算机上运行Get-Package,方法是将其作为 或 Enter-PSSession 命令或脚本的一Invoke-Command部分运行。

重要

PackageManagement 模块中包含的命令不同于 Visual Studio 的包管理器控制台中 NuGet 模块提供的命令。 每个模块都有在其他模块中不可用的命令。 具有相同名称的命令在其特定参数上有所不同。 有关详细信息,请参阅 Visual Studio 的包管理器控制台的 PowerShell 参考 文档。

示例

示例 1:获取所有已安装的包

cmdlet Get-Package 获取本地计算机上安装的所有包。

Get-Package

Name           Version      Source                                     ProviderName
----           -------      ------                                     ------------
posh-git       0.7.3        https://www.powershellgallery.com/api/v2   PowerShellGet

示例 2:获取安装在远程计算机上的包

此命令获取由 PackageManagement 在远程计算机上安装的包的列表。 此命令会提示你提供指定用户的密码。

PS> Invoke-Command -ComputerName Server01 -Credential CONTOSO\TestUser -ScriptBlock {Get-Package}

Invoke-Command 使用 ComputerName 参数指定远程计算机 Server01Credential 参数指定具有在计算机上运行命令的权限的域和用户名。 ScriptBlock 参数在Get-Package远程计算机上运行 cmdlet。

示例 3:获取指定提供程序的包

此命令从特定提供程序获取本地计算机上安装的软件包。

Get-Package -ProviderName PowerShellGet -AllVersions

Name                  Version      Source                                     ProviderName
----                  -------      ------                                     ------------
PackageManagement     1.2.2        https://www.powershellgallery.com/api/v2   PowerShellGet
PackageManagement     1.3.1        https://www.powershellgallery.com/api/v2   PowerShellGet
posh-git              0.7.3        https://www.powershellgallery.com/api/v2   PowerShellGet
PowerShellGet         2.0.1        https://www.powershellgallery.com/api/v2   PowerShellGet

Get-Package 使用 ProviderName 参数指定特定提供程序 PowerShellGetAllVersions 参数显示安装的每个版本。

示例 4:获取特定包的确切版本

此命令获取已安装包的特定版本。 可以安装多个版本的包。

Get-Package -Name PackageManagement -ProviderName PowerShellGet -RequiredVersion 1.3.1

Name                  Version      Source                                     ProviderName
----                  -------      ------                                     ------------
PackageManagement     1.3.1        https://www.powershellgallery.com/api/v2   PowerShellGet

Get-Package 使用 Name 参数指定包名称 PackageManagementProviderName 参数指定提供程序 PowerShellGetRequiredVersion 参数指定已安装的版本。

示例 5:卸载包

此示例获取包信息,然后卸载包。

Get-Package -Name posh-git -RequiredVersion 0.7.3 | Uninstall-Package

Get-Package 使用 Name 参数指定包名称 posh-gitRequiredVersion 参数是包的特定版本。 对象在管道中向下发送到 Uninstall-Package cmdlet。 Uninstall-Package 删除包。

参数

-AllowClobber

替代有关与现有命令冲突的警告消息。 覆盖与模块安装的命令同名的现有命令。

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

-AllowPrereleaseVersions

在结果中包含标记为预发行版的包。

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

-AllVersions

指示 Get-Package 返回包的所有可用版本。 默认情况下, Get-Package 仅返回最新的可用版本。

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

-Destination

指定包含提取的包文件的目录的路径。

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

-ExcludeVersion

切换以排除文件夹路径中的版本号。

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

-Force

强制运行命令而不要求用户确认。

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

-ForceBootstrap

指示 Get-Package 强制 PackageManagement 自动安装包提供程序。

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

-InstallUpdate

指示此 cmdlet 安装更新。

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

-MaximumVersion

指定要查找的最大包版本。

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

-MinimumVersion

指定要查找的最低包版本。 如果有更高的版本可用,则返回该版本。

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

-Name

指定一个或多个包名称,或者指定带通配符的包名称。 用逗号分隔多个包名称。

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

-NoPathUpdate

NoPathUpdate 仅适用于 Install-Script cmdlet。 NoPathUpdate 是由提供程序添加的动态参数,不受 支持 Get-Package

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

-PackageManagementProvider

指定包管理提供程序的名称。

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

-ProviderName

指定一个或多个包提供程序名称。 用逗号分隔多个包提供程序名称。 使用 Get-PackageProvider 获取可用包提供程序的列表。

Type:String[]
Aliases:Provider
Accepted values:Bootstrap, NuGet, PowerShellGet
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-RequiredVersion

指定要查找的包的确切版本。

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

-Scope

指定包的搜索范围。

Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipDependencies

指定跳过查找任何包依赖项的开关。

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

-SkipPublisherCheck

允许获取比已安装版本更新的包版本。 例如,已安装的包由受信任的发布者进行数字签名,但新版本未进行数字签名。

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

-Type

指定是使用模块、脚本还是任一方式搜索包。

Type:String
Accepted values:Module, Script, All
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输出

Microsoft.PackageManagement.Packaging.SoftwareIdentity

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

备注

在命令中包含包提供程序可以使动态参数可用于 cmdlet。 动态参数特定于包提供程序。 该 Get-Help cmdlet 列出 cmdlet 的参数集,并包含提供程序的参数集。 例如, Get-Package 具有包含 -NoPathUpdateAllowClobberSkipPublisherCheckPowerShellGet 参数集。

重要

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

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

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