Azure PowerShell 모듈 제거
Warning
AzureRM PowerShell 모듈은 2024년 2월 29일부터 공식적으로 사용되지 않습니다. 사용자는 지속적인 지원 및 업데이트를 보장하기 위해 AzureRM에서 Az PowerShell 모듈로 마이그레이션하는 것이 좋습니다.
AzureRM 모듈은 여전히 작동할 수 있지만 더 이상 기본 또는 지원되지 않으므로 사용자의 재량에 따라 계속 사용할 수 있습니다. Az 모듈로 전환하는 방법에 대한 지침은 마이그레이션 리소스를 참조하세요.
이 문서에서는 이전 버전의 Azure PowerShell을 제거하거나 시스템에서 완전히 제거하는 방법을 설명합니다. Azure PowerShell을 완전히 제거하기로 결정한 경우 Send-Feedback cmdlet을 통해 몇 가지 피드백을 제공하세요. 버그가 발생하면 GitHub 문제를 제출하면 감사하겠습니다.
Azure PowerShell MSI 제거
MSI 패키지를 사용하여 Azure PowerShell을 설치한 경우 PowerShell이 아닌 Windows 시스템을 통해 제거해야 합니다.
플랫폼 | 지침 |
---|---|
Windows 10 | 시작 > 설정 > 앱 |
Windows 7 Windows 8 |
시작 > 제어판 > 프로그램 > 프로그램 제거 |
이 화면에서 프로그램 목록에 Azure PowerShell이 표시됩니다. 제거할 앱입니다.
PowerShell에서 제거
PowerShellGet을 사용하여 Azure PowerShell을 설치한 경우 Uninstall-Module cmdlet을 사용할 수 있습니다. 그러나 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 }