Uninstall-Package

卸载一个或多个软件包。

语法

PackageByInputObject

Uninstall-Package
    [-InputObject] <SoftwareIdentity[]>
    [-AllVersions]
    [-Force]
    [-ForceBootstrap]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

PackageBySearch

Uninstall-Package
    [-Name] <String[]>
    [-RequiredVersion <String>]
    [-MinimumVersion <String>]
    [-MaximumVersion <String>]
    [-AllVersions]
    [-Force]
    [-ForceBootstrap]
    [-WhatIf]
    [-Confirm]
    [-ProviderName <String[]>]
    [<CommonParameters>]

NuGet:PackageByInputObject

Uninstall-Package
    [-AllVersions]
    [-Force]
    [-ForceBootstrap]
    [-WhatIf]
    [-Confirm]
    [-Destination <String>]
    [-ExcludeVersion]
    [-Scope <String>]
    [-SkipDependencies]
    [<CommonParameters>]

NuGet:PackageBySearch

Uninstall-Package
    [-AllVersions]
    [-Force]
    [-ForceBootstrap]
    [-WhatIf]
    [-Confirm]
    [-Destination <String>]
    [-ExcludeVersion]
    [-Scope <String>]
    [-SkipDependencies]
    [<CommonParameters>]

PowerShellGet:PackageByInputObject

Uninstall-Package
    [-AllVersions]
    [-Force]
    [-ForceBootstrap]
    [-WhatIf]
    [-Confirm]
    [-Scope <String>]
    [-PackageManagementProvider <String>]
    [-Type <String>]
    [-AllowClobber]
    [-SkipPublisherCheck]
    [-InstallUpdate]
    [-NoPathUpdate]
    [-AllowPrereleaseVersions]
    [<CommonParameters>]

PowerShellGet:PackageBySearch

Uninstall-Package
    [-AllVersions]
    [-Force]
    [-ForceBootstrap]
    [-WhatIf]
    [-Confirm]
    [-Scope <String>]
    [-PackageManagementProvider <String>]
    [-Type <String>]
    [-AllowClobber]
    [-SkipPublisherCheck]
    [-InstallUpdate]
    [-NoPathUpdate]
    [-AllowPrereleaseVersions]
    [<CommonParameters>]

说明

Uninstall-Package cmdlet 从本地计算机卸载一个或多个软件包。 若要查找已安装的包,请使用 Get-Package cmdlet。

重要

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

示例

示例 1:卸载包

Uninstall-Package cmdlet 卸载包。 Name 参数指定要卸载的包。 如果安装了包的多个版本,则会卸载最新版本。

PS> Uninstall-Package -Name NuGet.Core

示例 2:使用管道卸载包

Get-Package 找到特定包,并将管道中的 SoftwareIdentity 对象发送到 Uninstall-Package cmdlet。

PS> Get-Package -Name NuGet.Core -RequiredVersion 2.14.0 | Uninstall-Package

Get-Package cmdlet 使用 NameRequiredVersion 参数来指定包。 将 SoftwareIdentity 对象发送到管道。 Uninstall-Package cmdlet 接收对象作为 InputObject 并删除包。

或者,Uninstall-Package cmdlet 可以为 InputObject 参数指定值:

Uninstall-Package -InputObject ( Get-Package -Name NuGet.Core -RequiredVersion 2.14.0 )

参数

-AllowClobber

重写有关与现有命令冲突的警告消息。 覆盖与所安装的命令同名的现有命令。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-AllowPrereleaseVersions

允许卸载标记为预发行版的包。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-AllVersions

指示此 cmdlet 卸载包的所有版本。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Destination

指定输入对象路径的字符串。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

NuGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
NuGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ExcludeVersion

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

NuGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
NuGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Force

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ForceBootstrap

强制 PackageManagement 自动安装指定包的包提供程序。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InputObject

接受管道输入,该输入指定来自 cmdlet 的包的 Get-Package 对象。 InputObject 接受 SoftwareIdentity 对象作为 Get-Package 值或包含对象的变量。

参数属性

类型:

Microsoft.PackageManagement.Packaging.SoftwareIdentity[]

默认值:None
支持通配符:False
不显示:False

参数集

PackageByInputObject
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InstallUpdate

指示 Uninstall-Package 卸载更新。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-MaximumVersion

指定要卸载的最大允许包版本。 如果未指定此参数,Uninstall-Package 卸载包的最新版本。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-MinimumVersion

指定要卸载的最小允许包版本。 如果未添加此参数,Uninstall-Package 卸载包的最新版本,该版本满足 MaximumVersion 参数指定的任何版本。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

指定一个或多个包名称。 多个包名称必须用逗号分隔。

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

PackageBySearch
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-NoPathUpdate

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-PackageManagementProvider

指定 PackageManagement 提供程序。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ProviderName

指定要搜索包的一个或多个包提供程序名称。 可以通过运行 Get-PackageProvider cmdlet 来获取包提供程序名称。

参数属性

类型:

String[]

默认值:None
接受的值:Bootstrap, NuGet, PowerShellGet
支持通配符:False
不显示:False
别名:提供者

参数集

PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-RequiredVersion

指定要卸载的包的确切允许版本。 如果未添加此参数,Uninstall-Package 卸载包的最新版本,该版本满足 MaximumVersion 参数指定的任何版本。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Scope

指定要卸载包的范围。 此参数的可接受值如下所示:

  • 当前用户
  • 所有用户

参数属性

类型:String
默认值:None
接受的值:CurrentUser, AllUsers
支持通配符:False
不显示:False

参数集

NuGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
NuGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SkipDependencies

跳过软件依赖项的卸载。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

NuGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
NuGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SkipPublisherCheck

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

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Type

指定是使用模块、脚本还是同时搜索包。 此参数的可接受值如下所示:

  • 模块
  • 剧本
  • 全部

参数属性

类型:String
默认值:None
接受的值:Module, Script, All
支持通配符:False
不显示:False

参数集

PowerShellGet:PackageByInputObject
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False
PowerShellGet:PackageBySearch
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

显示运行 Uninstall-Package cmdlet 时会发生什么情况。 cmdlet 未能运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
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

可以通过管道将 SoftwareIdentity 对象传递给此 cmdlet。

输出

Microsoft.PackageManagement.Packaging.SoftwareIdentity

此 cmdlet 返回卸载的每个包的 SoftwareIdentity 对象。

备注

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