Odinstalowywanie modułu programu Azure PowerShellUninstall the Azure PowerShell module

W tym artykule wyjaśniono, jak odinstalować starszą wersję programu Azure PowerShell lub całkowicie usunąć go z systemu.This article tells you how to uninstall an older version of Azure PowerShell, or completely remove it from your system. Jeśli chcesz całkowicie odinstalować program Azure PowerShell, przekaż nam opinię za pomocą polecenia cmdlet Send-Feedback.If you've decided to completely uninstall the Azure PowerShell, give us some feedback through the Send-Feedback cmdlet. Jeśli trafisz na usterkę, będziemy wdzięczni za zgłoszenie problemu w usłudze GitHub, abyśmy mogli ją usunąć.If you encountered a bug, we'd appreciate it if you file a GitHub issue so that it can be fixed.

Odinstalowywanie programu Azure PowerShell za pomocą instalatora MSIUninstall Azure PowerShell from MSI

Jeśli zainstalowano program Azure PowerShell przy użyciu pakietu MSI, musisz odinstalować go za pośrednictwem systemu Windows, a nie programu PowerShell.If you installed Azure PowerShell using the MSI package, you must uninstall through the Windows system rather than PowerShell.

PlatformaPlatform InstrukcjeInstructions
Windows 10Windows 10 Start > Ustawienia > AplikacjeStart > Settings > Apps
Windows 7Windows 7
Windows 8Windows 8
Start > Panel sterowania > Programy > Odinstaluj programStart > Control Panel > Programs > Uninstall a program

Na tym ekranie na liście programów powinna być wyświetlana pozycja Azure PowerShell.Once on this screen you should see Azure PowerShell in the program listing. To jest aplikacja do odinstalowania.This is the app to uninstall. Jeśli nie widzisz tego programu na liście, oznacza to, że został on zainstalowany za pośrednictwem modułu PowerShellGet i musisz wykonać następny zestaw instrukcji.If you don't see this program listed, then you installed through PowerShellGet, and should follow the next set of instructions.

Odinstalowywanie programu Azure PowerShell za pomocą modułu PowerShellGetUninstall Azure PowerShell from PowerShell Get

Moduły Az można odinstalować za pomocą polecenia cmdlet Uninstall-Module.To uninstall the Az modules, use the Uninstall-Module cmdlet. Jednak polecenie Uninstall-Module umożliwia odinstalowanie tylko jednego modułu.However, Uninstall-Module only uninstalls one module. Aby całkowicie usunąć program Azure PowerShell, musisz odinstalować każdy moduł osobno.To remove Azure PowerShell completely, you must uninstall each module individually. Dezinstalacja może być skomplikowana, jeśli masz zainstalowaną więcej niż jedną wersję programu Azure PowerShell.Uninstallation can be complicated if you have more than one version of Azure PowerShell installed.

Aby sprawdzić, jakie wersje programu Azure PowerShell są aktualnie zainstalowane, uruchom następujące polecenie: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

Poniższy skrypt wysyła zapytanie do galerii programu PowerShell w celu uzyskania listy zależnych modułów podrzędnych.The following script queries the PowerShell Gallery to get a list of dependent submodules. Następnie skrypt odinstalowuje odpowiednią wersję każdego modułu podrzędnego.Then, the script uninstalls the correct version of each submodule. Aby uruchomić ten skrypt w zakresie innym niż Process lub CurrentUser, będziesz potrzebować dostępu administratora.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)
    }
  }
}

Aby użyć tej funkcji, skopiuj kod i wklej go do sesji programu PowerShell.To use this function, copy and paste the code into your PowerShell session. W poniższym przykładzie pokazano, jak uruchomić funkcję, aby usunąć starszą wersję programu 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

Po uruchomieniu skryptu zostanie wyświetlona nazwa i wersja każdego odinstalowywanego modułu podrzędnego.As the script runs, it will display the name and version of each submodule that is being uninstalled. Aby uruchomić skrypt w celu zobaczenia, co zostałoby usunięte, ale niczego nie usuwać, użyj opcji -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
...

Uwaga

Jeśli ten skrypt nie może być dokładnie zgodny z zależnością w tej samej wersji do odinstalowania, nie spowoduje odinstalowania żadnej wersji tej zależności.If this script can't match an exact dependency with the same version to uninstall, it won't uninstall any version of that dependecy. Jest to spowodowane tym, że w systemie mogą istnieć inne wersje modułu docelowego oparte na tych zależnościach.This is because there may be other versions of the target module on your system which rely on these dependencies. W tym przypadku są wyświetlane dostępne wersje zależności.In this case, the available versions of the dependency are listed. Możesz usunąć wszystkie starsze wersje ręcznie za pomocą polecenia Uninstall-Module.You can then remove any old versions manually with Uninstall-Module.

Uruchom to polecenie dla każdej wersji programu Azure PowerShell, która ma zostać odinstalowana.Run this command for every version of Azure PowerShell that you want to uninstall. Dla ułatwienia poniższy skrypt odinstaluje wszystkie wersje modułu Az oprócz najnowszej.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 }

Odinstalowywanie modułu AzureRMUninstall the AzureRM module

Jeśli w systemie masz zainstalowany moduł Az i chcesz odinstalować moduł AzureRM, możesz skorzystać z jednej z dwóch opcji, które nie wymagają uruchamiania powyższego skryptu Uninstall-AllModules.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. Metoda, której należy użyć, zależy od sposobu instalacji modułu AzureRM.Which method you follow depends on how you installed the AzureRM module. Jeśli nie masz pewności co do pierwotnej metody instalacji, najpierw wykonaj kroki służące do odinstalowania pakietu MSI.If you're not sure of your original install method, follow the steps for uninstalling an MSI first.

Odinstalowywanie pakietu MSI programu Azure PowerShellUninstall Azure PowerShell MSI

Jeśli moduły AzureRM programu Azure PowerShell zainstalowano przy użyciu pakietu MSI, musisz je odinstalować za pośrednictwem systemu Windows, a nie programu PowerShell.If you installed the Azure PowerShell AzureRM modules using the MSI package, you must uninstall through the Windows system rather than PowerShell.

PlatformaPlatform InstrukcjeInstructions
Windows 10Windows 10 Start > Ustawienia > AplikacjeStart > Settings > Apps
Windows 7Windows 7
Windows 8Windows 8
Start > Panel sterowania > Programy > Odinstaluj programStart > Control Panel > Programs > Uninstall a program

Na tym ekranie na liście programów powinna być wyświetlana pozycja Azure PowerShell.Once on this screen you should see Azure PowerShell in the program listing. To jest aplikacja do odinstalowania.This is the app to uninstall. Jeśli nie widzisz tego programu na liście, oznacza to, że został on zainstalowany za pośrednictwem modułu PowerShellGet i musisz wykonać następny zestaw instrukcji.If you don't see this program listed, then you installed through PowerShellGet, and should follow the next set of instructions.

Dezinstalacja z poziomu programu PowerShellUninstall from PowerShell

Jeśli moduł AzureRM został zainstalowany przy użyciu modułu PowerShellGet, możesz usunąć moduły za pomocą polecenia Uninstall-AzureRM dostępnego w 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. Spowoduje to usunięcie wszystkich modułów AzureRM z Twojej maszyny, ale wymaga uprawnień administratora.This removes all AzureRM modules from your machine, but requires administrator privileges.

Uninstall-AzureRm

Jeśli nie możesz pomyślnie uruchomić polecenia Uninstall-AzureRM, zamiast tego uruchom skrypt Uninstall-AllModules podany w tym artykule, korzystając z następującego wywołania: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 }