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 参数指定远程计算机 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
替代有关与现有命令冲突的警告消息。 覆盖与模块安装的命令同名的现有命令。
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
具有包含 -NoPathUpdate
、 AllowClobber
和 SkipPublisherCheck
的 PowerShellGet 参数集。
重要
自 2020 年 4 月起,PowerShell 库已不再支持传输层安全性 (TLS) 版本 1.0 和 1.1。 如果你使用的不是 TLS 1.2 或更高版本,那么,在尝试访问 PowerShell 库时,将会收到错误。 使用以下命令可以确定使用的是 TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
有关详细信息,请参阅 PowerShell 博客中的公告。