Delen via


De Azure PowerShell-module verwijderen

Waarschuwing

De AzureRM PowerShell-module is vanaf 29 februari 2024 officieel afgeschaft. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen.

Hoewel de AzureRM-module nog steeds kan functioneren, wordt deze niet meer onderhouden of ondersteund, waardoor het gebruik naar eigen goeddunken en risico van de gebruiker blijft bestaan. Raadpleeg onze migratiebronnen voor hulp bij de overgang naar de Az-module.

In dit artikel wordt uitgelegd hoe u een oudere versie van Azure PowerShell verwijdert of deze volledig van uw systeem verwijdert. Als u hebt besloten om Azure PowerShell volledig te verwijderen, stellen we het op prijs als u ons via de cmdlet Send-Feedback feedback geeft. Als u een bug tegenkomt, zouden we het waarderen als u dat meldt op GitHub.

Azure PowerShell verwijderen via MSI

Als u Azure PowerShell hebt geïnstalleerd met het MSI-pakket, moet u het verwijderen via het Windows-systeem, niet via PowerShell.

Platform Instructies
Windows 10 Instellingen-apps > starten >
Windows 7
Windows 8
Een > programma starten Configuratiescherm > Programma's > verwijderen

In dit scherm ziet u Azure PowerShell in de lijst met programma's staan. Dit is de app die u moet verwijderen.

Verwijderen vanuit PowerShell

Als u Azure PowerShell hebt geïnstalleerd met behulp van PowerShellGet, kunt u de cmdlet Uninstall-Module gebruiken. Met Uninstall-Module wordt echter maar één module verwijderd. Als u Azure PowerShell volledig wilt verwijderen, moet u elke module afzonderlijk verwijderen. Het verwijderen kan ingewikkeld zijn als u meerdere versies van Azure PowerShell hebt geïnstalleerd.

Als u wilt controleren welke versies van Azure PowerShell er momenteel zijn geïnstalleerd, voert u de volgende opdracht uit:

Get-InstalledModule -Name AzureRM -AllVersions
Version              Name                                Repository           Description
-------              ----                                ----------           -----------
6.11.0               AzureRM                             PSGallery            Azure Resource Manager Module
6.13.1               AzureRM                             PSGallery            Azure Resource Manager Module

Het volgende script vraagt in PowerShell Gallery een lijst op met afhankelijke submodules. Daarna verwijdert het script de juiste versie van elke submodule. U moet beheerderstoegang hebben om dit script uit te voeren in een ander bereik dan Process of CurrentUser.

function Uninstall-AllModules {
  param(
    [Parameter(Mandatory=$true)]
    [string]$TargetModule,

    [Parameter(Mandatory=$true)]
    [string]$Version,

    [switch]$Force,

    [switch]$WhatIf
  )

  $AllModules = @()

  'Creating list of dependencies...'
  $target = Find-Module $TargetModule -RequiredVersion $version
  $target.Dependencies | ForEach-Object {
    if ($_.PSObject.Properties.Name -contains 'requiredVersion') {
      $AllModules += New-Object -TypeName psobject -Property @{name=$_.name; version=$_.requiredVersion}
    }
    else { # Assume minimum version
      # Minimum version actually reports the installed dependency
      # which is used, not the actual "minimum dependency." Check to
      # see if the requested version was installed as a dependency earlier.
      $candidate = Get-InstalledModule $_.name -RequiredVersion $version -ErrorAction Ignore
      if ($candidate) {
        $AllModules += New-Object -TypeName psobject -Property @{name=$_.name; version=$version}
      }
      else {
        $availableModules = Get-InstalledModule $_.name -AllVersions
        Write-Warning ("Could not find uninstall candidate for {0}:{1} - module may require manual uninstall. Available versions are: {2}" -f $_.name,$version,($availableModules.Version -join ', '))
      }
    }
  }
  $AllModules += New-Object -TypeName psobject -Property @{name=$TargetModule; version=$Version}

  foreach ($module in $AllModules) {
    Write-Host ('Uninstalling {0} version {1}...' -f $module.name,$module.version)
    try {
      Uninstall-Module -Name $module.name -RequiredVersion $module.version -Force:$Force -ErrorAction Stop -WhatIf:$WhatIf
    } catch {
      Write-Host ("`t" + $_.Exception.Message)
    }
  }
}

Als u deze functie wilt gebruiken, kopieert en plakt u de code in uw PowerShell-sessie. In het volgende voorbeeld ziet u hoe u de functie uitvoert om een oudere versie van Azure PowerShell te verwijderen.

Uninstall-AllModules -TargetModule AzureRM -Version 4.4.1 -Force

Terwijl het script wordt uitgevoerd, worden de naam en versie weergegeven van elke submodule die wordt verwijderd. Als u het script alleen wilt uitvoeren om na te gaan wat er zou worden verwijderd, zonder daadwerkelijk tot verwijdering over te gaan, gebruikt u de optie -WhatIf.

Creating list of dependencies...
Uninstalling AzureRM.Profile version 3.4.1
Uninstalling Azure.Storage version 3.4.1
Uninstalling AzureRM.AnalysisServices version 0.4.7
Uninstalling Azure.AnalysisServices version 0.4.7
...

Notitie

Als dit script niet overeenkomt met een exacte afhankelijkheid met dezelfde te verwijderen versie, wordt geen versie van die afhankelijkheid verwijderd. Dit is omdat er zich mogelijk nog andere versies van de doelmodule op uw systeem bevinden die afhankelijk zijn van deze afhankelijkheden. In dit geval worden de beschikbare versies van de afhankelijkheid vermeld. U kunt oude versies dan handmatig verwijderen met Uninstall-Module.

Voer deze opdracht uit voor elke versie van Azure PowerShell die u wilt verwijderen. Voor het gemak verwijdert het volgende script alle versies van AzureRM behalve de nieuwste versie.

$versions = (Get-InstalledModule -Name AzureRM -AllVersions | Select-Object -Property Version)
$versions[0..($versions.Length-2)]  | foreach { Uninstall-AllModules -TargetModule AzureRM -Version ($_.Version) -Force }