Azure PowerShell モジュールのアンインストールUninstall the Azure PowerShell module

この記事では、古いバージョンの Azure PowerShell をアンインストールする (システムから完全に削除する) 方法について説明します。This article tells you how to uninstall an older version of Azure PowerShell, or completely remove it from your system. Azure PowerShell を完全にアンインストールすることにした場合は、Send-Feedback コマンドレットを使用してフィードバックをお送りください。If you've decided to completely uninstall the Azure PowerShell, give us some feedback through the Send-Feedback cmdlet. バグが見つかった場合は、GitHub で問題を報告していただきますよう、よろしくお願いいたします。If you encounter a bug, we'd appreciate it if you file a GitHub issue.

Azure PowerShell MSI のアンインストールUninstall Azure PowerShell MSI

MSI パッケージを使用して Azure PowerShell をインストールした場合は、PowerShell ではなく Windows システムからアンインストールする必要があります。If you installed Azure PowerShell using the MSI package, you must uninstall through the Windows system rather than PowerShell.

プラットフォームPlatform InstructionsInstructions
Windows 10Windows 10 [スタート] > [設定] > [アプリ]Start > Settings > Apps
Windows 7Windows 7
Windows 8Windows 8
[スタート] > [コントロール パネル] > [プログラム] > [プログラムのアンインストール]Start > Control Panel > Programs > Uninstall a program

この画面のプログラムの一覧に [Azure PowerShell] が表示されます。Once on this screen you should see Azure PowerShell in the program listing. これが、アンインストール対象のアプリです。This is the app to uninstall.

PowerShell からのアンインストールUninstall from PowerShell

PowerShellGet を使用して Azure PowerShell をインストールした場合は、Uninstall-Module コマンドレットを使用します。If you installed Azure PowerShell using PowerShellGet, you can use the Uninstall-Module cmdlet. ただし、Uninstall-Module でアンインストールされるモジュールは 1 つだけです。However, Uninstall-Module only uninstalls one module. Azure PowerShell を完全に削除するには、各モジュールを個別にアンインストールする必要があります。To remove Azure PowerShell completely, you must uninstall each module individually. 複数のバージョンの Azure PowerShell がインストールされている場合、アンインストールが複雑になることがあります。Uninstallation can be complicated if you have more than one version of Azure PowerShell installed.

現在インストールされている Azure PowerShell のバージョンを確認するには、次のコマンドを実行します。To check which versions of Azure PowerShell you currently have installed, run the following command:

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

次のスクリプトでは、PowerShell ギャラリーに照会して依存サブモジュールの一覧を取得します。The following script queries the PowerShell Gallery to get a list of dependent submodules. 次に、各サブモジュールの適切なバージョンがアンインストールされます。Then, the script uninstalls the correct version of each submodule. Process または 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 ($_.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
      if ($candidate) {
        $AllModules += New-Object -TypeName psobject -Property @{name=$_.name; version=$version}
      }
      else {
        Write-Warning ("Could not find uninstall candidate for {0}:{1} - module may require manual uninstall" -f $_.name,$version)
      }
    }
  }
  $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)
    }
  }
}

この関数を使用するには、コードをコピーして PowerShell セッションに貼り付けます。To use this function, copy and paste the code into your PowerShell session. 次の例は、関数を実行して古いバージョンの Azure PowerShell を削除する方法を示しています。The following example shows how to run the function to remove an older version of Azure PowerShell.

Uninstall-AllModules -TargetModule AzureRM -Version 4.4.1 -Force

スクリプトを実行すると、アンインストールされる各サブモジュールの名前とバージョンが表示されます。As the script runs, it will display the name and version of each submodule that is being uninstalled. スクリプトを実行して削除対象を削除せずに表示のみを行うには、-WhatIf オプションを使用します。To run the script to only see what would be deleted, without removing it, use the -WhatIf option.

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
...

アンインストールする Azure PowerShell のバージョンごとにこのコマンドを実行します。Run this command for every version of Azure PowerShell that you want to uninstall. 便宜上、次のスクリプトにより、最新バージョンを__除く__、AzureRM のすべてのバージョンがアンインストールされます。For convenience, the following script will uninstall all versions of AzureRM except for the latest.

$versions = (get-installedmodule AzureRM -AllVersions | Select-Object Version)
$versions[1..($versions.Length-1)]  | foreach { Uninstall-AllModules -TargetModule AzureRM -Version ($_.Version) -Force }