Désinstaller le module Azure PowerShellUninstall the Azure PowerShell module

Cet article vous explique comment désinstaller une ancienne version d’Azure PowerShell, ou comment la supprimer complètement de votre système.This article tells you how to uninstall an older version of Azure PowerShell, or completely remove it from your system. Si vous choisissez de désinstaller complètement Azure PowerShell, faites-nous part de vos commentaires via la cmdlet Send-Feedback.If you've decided to completely uninstall the Azure PowerShell, give us some feedback through the Send-Feedback cmdlet. Si vous avez rencontré un bogue, nous vous serions reconnaissants de bien vouloir signaler un problème GitHub pour permettre sa résolution.If you encountered a bug, we'd appreciate it if you file a GitHub issue so that it can be fixed.

Désinstaller le module AzUninstall the Az module

Pour désinstaller les modules Az, utilisez la cmdlet Uninstall-Module.To uninstall the Az modules, use the Uninstall-Module cmdlet. Toutefois, la cmdlet Uninstall-Module ne désinstalle qu’un module.However, Uninstall-Module only uninstalls one module. Pour supprimer complètement Azure PowerShell, vous devez désinstaller chaque module individuellement.To remove Azure PowerShell completely, you must uninstall each module individually. La désinstallation peut être compliquée si plusieurs versions d’Azure PowerShell sont installées.Uninstallation can be complicated if you have more than one version of Azure PowerShell installed.

Pour vérifier quelles versions d’Azure PowerShell sont actuellement installées, exécutez la commande suivante :To check which versions of Azure PowerShell you currently have installed, run the following command:

Get-InstalledModule -Name Az -AllVersions
Version             Name                           Repository           Description
-------             ----                           ----------           -----------
0.7.0               Az                             PSGallery            Azure Resource Manager Module
1.0.0               Az                             PSGallery            Azure Resource Manager Module

Le script suivant interroge PowerShell Gallery afin d’obtenir une liste de sous-modules dépendants.The following script queries the PowerShell Gallery to get a list of dependent submodules. Il désinstalle ensuite la bonne version de chaque sous-module.Then, the script uninstalls the correct version of each submodule. Vous devez disposer d’un accès administrateur pour exécuter ce script dans une portée autre que Process ou CurrentUser.You will need to have administrator access to run this script in a scope other than Process or 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)
    }
  }
}

Pour utiliser cette fonction, copiez et collez le code dans votre session PowerShell.To use this function, copy and paste the code into your PowerShell session. L’exemple suivant montre comment exécuter la fonction afin de supprimer une ancienne version d’Azure PowerShell.The following example shows how to run the function to remove an older version of Azure PowerShell.

Uninstall-AllModules -TargetModule Az -Version 0.7.0 -Force

Lors de l’exécution du script, ce dernier affichera le nom et la version de chaque sous-module en train d’être désinstallé.As the script runs, it will display the name and version of each submodule that is being uninstalled. Pour exécuter le script pour afficher uniquement ce qui serait supprimé, sans le supprimer, utilisez l’option -WhatIf.To run the script to only see what would be deleted, without removing it, use the -WhatIf option.

Creating list of dependencies...
Uninstalling Az.Profile version 0.7.0
Uninstalling Az.Aks version 0.7.0
Uninstalling Az.AnalysisServices version 0.7.0
...

Notes

Si ce script ne trouve pas de correspondance exacte avec une dépendance de même version à désinstaller, aucune version de cette dépendance n’est désinstallée.If this script can't match an exact dependency with the same version to uninstall, it won't uninstall any version of that dependecy. En effet, d’autres versions du module cible sur votre système reposent peut-être sur ces dépendances.This is because there may be other versions of the target module on your system which rely on these dependencies. Dans ce cas, les versions disponibles de la dépendance sont listées.In this case, the available versions of the dependency are listed. Vous pouvez ensuite supprimer les anciennes versions manuellement avec Uninstall-Module.You can then remove any old versions manually with Uninstall-Module.

Exécutez cette commande pour chaque version d’Azure PowerShell que vous souhaitez désinstaller.Run this command for every version of Azure PowerShell that you want to uninstall. Pour des raisons pratiques, le script suivant désinstallera toutes les versions d’Az à l’exception de la plus récente.For convenience, the following script will uninstall all versions of Az except for the latest.

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

Désinstaller le module AzureRMUninstall the AzureRM module

Si le module Az est installé sur votre système et que vous souhaitez désinstaller AzureRM, il existe deux options qui ne nécessitent pas d’exécuter le script Uninstall-AllModules ci-dessus.If you have the Az module installed on your system and would like to uninstall AzureRM, there are two options that don't require running the Uninstall-AllModules script above. La méthode à suivre dépend de la façon dont vous avez installé le module AzureRM.Which method you follow depends on how you installed the AzureRM module. Si vous n’êtes pas sûr de votre méthode d’installation d’origine, suivez d’abord les étapes de désinstallation d’un fichier MSI.If you're not sure of your original install method, follow the steps for uninstalling an MSI first.

Désinstaller Azure PowerShell MSIUninstall Azure PowerShell MSI

Si vous avez installé des modules AzureRM Azure PowerShell via le package MSI, vous devez les désinstaller via le système Windows et non via PowerShell.If you installed the Azure PowerShell AzureRM modules using the MSI package, you must uninstall through the Windows system rather than PowerShell.

PlateformePlatform InstructionsInstructions
Windows 10Windows 10 Démarrer > Paramètres > ApplicationsStart > Settings > Apps
Windows 7Windows 7
Windows 8Windows 8
Démarrer > Panneau de configuration > Programmes > Désinstaller un programmeStart > Control Panel > Programs > Uninstall a program

Une fois sur l’écran, vous devez voir Azure PowerShell dans la liste des programmes.Once on this screen you should see Azure PowerShell in the program listing. Il s’agit de l’application à désinstaller.This is the app to uninstall. Si vous ne voyez pas ce programme, c’est que vous l’avez installé via PowerShellGet. Par conséquent, vous devez suivre les instructions suivantes.If you don't see this program listed, then you installed through PowerShellGet, and should follow the next set of instructions.

Désinstaller à partir de PowerShellUninstall from PowerShell

Si vous avez installé AzureRM avec PowerShellGet, vous pouvez supprimer les modules avec la commande Uninstall-AzureRM, disponible dans le module Az.Accounts.If you installed AzureRM with PowerShellGet, then you can remove the modules with the Uninstall-AzureRM command, available as part of the Az.Accounts module. Cette opération supprime tous les modules AzureRM de votre ordinateur, mais elle nécessite des privilèges d’administrateur.This removes all AzureRM modules from your machine, but requires administrator privileges.

Uninstall-AzureRm

Si vous ne pouvez pas exécuter correctement la commande Uninstall-AzureRM, utilisez le script Uninstall-AllModules fourni dans cet article avec l’appel suivant :If you can't successfully run the Uninstall-AzureRM command, use the Uninstall-AllModules script provided in this article with the following invocation:

$versions = (Get-InstalledModule AzureRM -AllVersions | Select-Object Version)
$versions | foreach { Uninstall-AllModules -TargetModule AzureRM -Version ($_.Version) -Force }