Uninstall-Module

Uninstalls a module.

Syntax

Uninstall-Module
         [-Name] <String[]>
         [-MinimumVersion <String>]
         [-RequiredVersion <String>]
         [-MaximumVersion <String>]
         [-AllVersions]
         [-Force]
         [-AllowPrerelease]
         [-WhatIf]
         [-Confirm]
         [<CommonParameters>]
Uninstall-Module
         [-InputObject] <PSObject[]>
         [-Force]
         [-WhatIf]
         [-Confirm]
         [<CommonParameters>]

Description

The Uninstall-Module cmdlet uninstalls a specified module from the local computer. You can't uninstall a module if other modules depend on it or the module wasn't installed with the Install-Module cmdlet.

You can manually delete module files, but doing so may break any modules that depend on the deleted module.

The parameters that take module version numbers expect strings formatted as version numbers.

  • Standard version numbers have a format of x.y.z where x, y, and z are numbers
  • Prerelease versions have a format of x.y.z-<prerelease_label> where the <prerelease_label> is arbitrary string assigned to that release.

Examples

Example 1: Uninstall a module

This example uninstalls a module.

Uninstall-Module -Name SpeculationControl

Uninstall-Module uses the Name parameter to specify the module to uninstall from the local computer.

Example 2: Use the pipeline to uninstall a module

In this example, the pipeline is used to uninstall a module.

Get-InstalledModule -Name SpeculationControl | Uninstall-Module

Get-InstalledModule uses the Name parameter to specify the module. The object is sent down the pipeline to Uninstall-Module and is uninstalled.

Parameters

-AllowPrerelease

Allows you to uninstall a module marked as a prerelease.

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

-AllVersions

Specifies that you want to include all available versions of a module. You can't use the AllVersions parameter with the MinimumVersion, MaximumVersion, or RequiredVersion parameters.

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

-Confirm

Prompts you for confirmation before running the Uninstall-Module.

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

-Force

Forces Uninstall-Module to run without asking for user confirmation.

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

-InputObject

Accepts a PSRepositoryItemInfo object. For example, output Get-InstalledModule to a variable and use that variable as the InputObject argument.

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

-MaximumVersion

Specifies the maximum, or newest, version of the module to uninstall. The MaximumVersion and RequiredVersion parameters can't be used in the same command.

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

-MinimumVersion

Specifies the minimum version of the module to uninstall. The MinimumVersion and RequiredVersion parameters can't be used in the same command.

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

-Name

Specifies an array of module names to uninstall.

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

-RequiredVersion

Specifies the exact version number of the module to uninstall.

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

-WhatIf

Shows what would happen if Uninstall-Module runs. The cmdlet isn't run.

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

Inputs

PSRepositoryItemInfo

Uninstall-Module accepts PSRepositoryItemInfo objects from the pipeline.