Get-Package
返回随 PackageManagement 一起安装的所有软件包的列表。
语法
NuGet
Get-Package
[[-Name] <String[]>]
[-RequiredVersion <String>]
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-AllVersions]
[-Force]
[-ForceBootstrap]
[-ProviderName <String[]>]
[-Destination <String>]
[-ExcludeVersion]
[-Scope <String>]
[-SkipDependencies]
[<CommonParameters>]
PowerShellGet
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,方法是将其作为 Invoke-Command 或 Enter-PSSession 命令或脚本的一部分运行。
重要
PackageManagement 模块中包含的命令不同于 Visual Studio 的包管理器控制台中 NuGet 模块提供的命令。 每个模块都有在其他模块中不可用的命令。 具有相同名称的命令在其特定参数中有所不同。 有关详细信息,请参阅 Visual Studio 的包管理器控制台的 PowerShell 参考 文档。
示例
示例 1:获取所有已安装的包
Get-Package cmdlet 获取在本地计算机上安装的所有包。
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 参数指定远程计算机,Server01。
Credential 参数指定具有在计算机上运行命令的权限的域和用户名。
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 参数指定特定的提供程序,PowerShellGet。
AllVersions 参数显示已安装的每个版本。
示例 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 参数来指定包名称,PackageManagement。
ProviderName 参数指定提供程序,PowerShellGet。
RequiredVersion 参数指定已安装的版本。
示例 5:卸载包
此示例获取包信息,然后卸载包。
Get-Package -Name posh-git -RequiredVersion 0.7.3 | Uninstall-Package
Get-Package 使用 Name 参数指定包名称,posh-git。
RequiredVersion 参数是包的特定版本。 该对象将管道向下发送到 Uninstall-Package cmdlet。
Uninstall-Package 删除包。
参数
-AllowClobber
重写有关与现有命令冲突的警告消息。 覆盖与模块安装的命令同名的现有命令。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
PowerShellGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-AllowPrereleaseVersions
在结果中包含标记为预发行版的包。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
PowerShellGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-AllVersions
指示 Get-Package 返回包的所有可用版本。 默认情况下,Get-Package 仅返回最新可用版本。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Destination
指定包含提取包文件的目录的路径。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
NuGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ExcludeVersion
切换到排除文件夹路径中的版本号。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
NuGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Force
强制命令运行而不要求用户确认。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ForceBootstrap
指示 Get-Package 强制 PackageManagement 自动安装包提供程序。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-InstallUpdate
指示此 cmdlet 安装更新。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
PowerShellGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-MaximumVersion
指定要查找的最大包版本。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-MinimumVersion
指定要查找的最低包版本。 如果较高版本可用,则返回该版本。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Name
指定一个或多个包名称,或包含通配符的包名称。 用逗号分隔多个包名称。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
(All)
| Position: | 0 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NoPathUpdate
NoPathUpdate 仅适用于 Install-Script cmdlet。
NoPathUpdate 是由提供程序添加的动态参数,不受提供程序支持 Get-Package。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
PowerShellGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-PackageManagementProvider
指定包管理提供程序的名称。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
PowerShellGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ProviderName
指定一个或多个包提供程序名称。 用逗号分隔多个包提供程序名称。
使用 Get-PackageProvider 获取可用包提供程序的列表。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 接受的值: | Bootstrap, NuGet, PowerShellGet |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 提供者 |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-RequiredVersion
指定要查找的包的确切版本。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Scope
指定包的搜索范围。
参数属性
| 类型: | String |
| 默认值: | None |
| 接受的值: | CurrentUser, AllUsers |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-SkipDependencies
指定跳过查找任何包依赖项的开关。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
NuGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-SkipPublisherCheck
允许获取比已安装版本更新的包版本。 例如,由受信任的发布者数字签名但新版本未进行数字签名的已安装包。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
PowerShellGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Type
指定是搜索包含模块、脚本的包,还是搜索包。
参数属性
| 类型: | String |
| 默认值: | None |
| 接受的值: | Module, Script, All |
| 支持通配符: | False |
| 不显示: | False |
参数集
PowerShellGet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输出
Microsoft.PackageManagement.Packaging.SoftwareIdentity
此 cmdlet 返回与参数匹配的每个已安装包的 SoftwareIdentity 对象。 默认情况下,它将返回每个已安装的包。
备注
在命令中包含包提供程序可以使动态参数可用于 cmdlet。 动态参数特定于包提供程序。
Get-Help cmdlet 列出了 cmdlet 的参数集,并包括提供程序的参数集。 例如,Get-Package具有 PowerShellGet 参数集,其中包括-NoPathUpdate和 AllowClobberSkipPublisherCheck。
重要
截至 2020 年 4 月,PowerShell 库不再支持传输层安全性(TLS)版本 1.0 和 1.1。 如果未使用 TLS 1.2 或更高版本,则尝试访问 PowerShell 库时会收到错误。 使用以下命令确保使用的是 TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
有关详细信息,请参阅 PowerShell 博客中的 公告。