Uninstall-Package

卸载一个或多个软件包。

语法

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

说明

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

重要

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

示例

示例 1:卸载包

cmdlet Uninstall-Package 卸载包。 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

cmdlet Get-Package 使用 NameRequiredVersion 参数来指定包。 SoftwareIdentity 对象在管道中发送。 cmdlet Uninstall-PackageInputObject 的形式接收对象并删除包。

作为替代方法, Uninstall-Package cmdlet 可以为 InputObject 参数指定值:

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

参数

-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

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

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

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
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

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

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

-InputObject

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

Type:Microsoft.PackageManagement.Packaging.SoftwareIdentity[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstallUpdate

指示 Uninstall-Package 卸载更新。

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

-MaximumVersion

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

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

-MinimumVersion

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

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:True
Accept pipeline input:False
Accept wildcard characters:False

-NoPathUpdate

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

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

-PackageManagementProvider

指定 PackageManagement 提供程序。

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

-ProviderName

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

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

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

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

-Scope

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

  • CurrentUser
  • AllUsers
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

指定是使用模块和/或脚本搜索包。 此参数的可接受值如下所示:

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

-WhatIf

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

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

输入

Microsoft.PackageManagement.Packaging.SoftwareIdentity

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

输出

Microsoft.PackageManagement.Packaging.SoftwareIdentity

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

备注

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