Uninstall-PSResource

Uninstalls a resource that was installed using PowerShellGet.

Syntax

Uninstall-PSResource
         [-Name] <String[]>
         [-Version <String>]
         [-Prerelease]
         [-SkipDependencyCheck]
         [-Scope <ScopeType>]
         [-WhatIf]
         [-Confirm]
         [<CommonParameters>]
Uninstall-PSResource
         [-Prerelease]
         [-InputObject] <PSResourceInfo[]>
         [-SkipDependencyCheck]
         [-Scope <ScopeType>]
         [-WhatIf]
         [-Confirm]
         [<CommonParameters>]

Description

This cmdlet combines the functionality of the Uninstall-Module and Uninstall-Script cmdlets from PowerShellGet v2. The cmdlet searches the package installation paths for resources that have the PowerShellGet XML metadata file. Matching resources are uninstalled from the system.

By default, the cmdlet checks to see whether the resource being removed is a dependency for another resource.

Examples

Example 1

Uninstall the latest version of the Az module.

Uninstall-PSResource Az

Example 2

Uninstall a specific version of the Az module.

Uninstall-PSResource -name Az -version "5.0.0"

Example 3

Uninstalls all versions of the Az module within the specified version range.

Uninstall-PSResource -name Az -version "(5.0.0, 7.5.0)"

Example 4

This example assumes that the following versions of Az module are already installed:

  • 4.0.1-preview
  • 4.1.0
  • 4.0.2-preview

The Uninstall-PSResource cmdlet removes stable and prerelease version that fall within the version range specified. Per NuGetVersion rules, a prerelease version is less than a stable version, so 4.0.1-preview is actually less than the 4.0.1 version in the specified range. Therefore, 4.0.1-preview isn't removed. Versions 4.1.0 and 4.0.2-preview are removed because they fall within the range.

Uninstall-PSResource -name Az -version "[4.0.1, 4.1.0]"

Example 5

This example assumes that the following versions of Az module are already installed:

  • 4.0.1-preview
  • 4.1.0
  • 4.0.2-preview

This is the same as the previous example except the Prerelease parameter means that only prerelease versions are removed. Only version 4.0.2-preview is removed because version 4.0.1-preview is outside the range and version 4.1.0 isn't a prerelease version.

Uninstall-PSResource -name Az -version "[4.0.1, 4.1.0]" -Prerelease

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

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

-InputObject

Used for pipeline input.

Type:Microsoft.PowerShell.PSResourceGet.UtilClasses.PSResourceInfo[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Name of a resource or resources to remove. Wildcards are supported but NuGet only accepts the * character.

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

-Prerelease

Indicates that only prerelease version resources should be removed.

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

-Scope

Specifies the scope of the resource to uninstall.

Type:Microsoft.PowerShell.PSResourceGet.UtilClasses.ScopeType
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipDependencyCheck

By default, the cmdlet checks to see whether the resource being removed is a dependency for another resource. Using this parameter skips the dependency test.

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

-Version

Specifies the version of the resource to be removed. The value can be an exact version or a version range using the NuGet versioning syntax.

For more information about NuGet version ranges, see Package versioning.

PowerShellGet supports all but the minimum inclusive version listed in the NuGet version range documentation. Using 1.0.0.0 as the version doesn't yield versions 1.0.0.0 and higher (minimum inclusive range). Instead, the value is considered to be the required version. To search for a minimum inclusive range, use [1.0.0.0, ] as the version range.

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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet isn't run.

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

Inputs

String[]

Microsoft.PowerShell.PSResourceGet.UtilClasses.PSResourceInfo[]

Outputs

Object