Удаление модуля Azure PowerShell
Предупреждение
Модуль AzureRM PowerShell официально устарел с 29 февраля 2024 г. Пользователям рекомендуется выполнить миграцию из AzureRM в модуль Az PowerShell, чтобы обеспечить постоянную поддержку и обновления.
Хотя модуль AzureRM по-прежнему может функционировать, он больше не поддерживается или не поддерживается, размещая любое постоянное использование на усмотрение и риск пользователя. Ознакомьтесь с нашими ресурсами миграции, чтобы получить рекомендации по переходу в модуль Az.
Из этой статьи вы узнаете, как удалить предыдущую версию Azure PowerShell или полностью удалить этот модуль из системы. Если вы решили полностью удалить Azure PowerShell, отправьте нам отзыв с помощью командлета Send-Feedback. Если вы обнаружите ошибку, пожалуйста, сообщите о ней на сайте GitHub.
Удаление Azure PowerShell MSI
Если вы установили Azure PowerShell с помощью пакета MSI, удалять модуль нужно через систему Windows, а не PowerShell.
Платформа | Instructions |
---|---|
Windows 10 | Пуск > Параметры > Приложения |
Windows 7 Windows 8 | Пуск > Панель управления > Программы > Удалить программу |
В этом окне в списке программ вы должны увидеть модуль Azure PowerShell. Это программа, которую можно удалить.
Удаление с помощью PowerShell
Если вы установили Azure PowerShell с помощью PowerShellGet, для удаления можно использовать командлет Uninstall-Module. Учтите, что Uninstall-Module
удаляет только один модуль. Чтобы полностью удалить Azure PowerShell, каждый модуль нужно удалять отдельно. Удаление может усложниться, если у вас установлено несколько версий Azure PowerShell.
Чтобы проверить, какие версии Azure PowerShell у вас установлены, используйте следующую команду:
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 список зависимых подмодулей, а затем удаляет правильную версию каждого подмодуля. Необходимы права доступа администратора для запуска этого скрипта в области, отличающейся от Process
или 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)
}
}
}
Чтобы воспользоваться этой функцией, скопируйте и вставьте этот код в окно сеанса PowerShell. В примере ниже показано, как запустить функцию, чтобы удалить предыдущую версию Azure PowerShell.
Uninstall-AllModules -TargetModule AzureRM -Version 4.4.1 -Force
Во время выполнения скрипта в окне будут отображаться имя и версия каждого удаляемого подмодуля. Чтобы запустить скрипт для просмотра только удаляемых компонентов без удаления, используйте параметр -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
...
Примечание.
Если скрипт не может сопоставить определенную зависимость с версией для удаления, ни одна из версий этой зависимости не будет удалена. Это обусловлено тем, что на компьютере могут быть установлены другие версии целевого модуля, связанные с этими зависимостями. В этом случае перечисляются доступные версии зависимости. После этого вы можете вручную удалить любые предыдущие версии с помощью Uninstall-Module
.
Выполните эту команду для каждой версии Azure PowerShell, которую нужно удалить. Для удобства следующий скрипт удалит все версии AzureRM за исключением последней.
$versions = (Get-InstalledModule -Name AzureRM -AllVersions | Select-Object -Property Version)
$versions[0..($versions.Length-2)] | foreach { Uninstall-AllModules -TargetModule AzureRM -Version ($_.Version) -Force }