영어로 읽기

다음을 통해 공유


Az PowerShell 모듈 문제 해결

디버그 로깅 활성화

Az PowerShell 모듈의 문제 해결에서 수행해야 하는 첫 번째 단계 중 하나는 디버그 로깅을 사용하도록 설정하는 것입니다.

명령별로 디버그 로깅을 사용하도록 설정하려면 Debug 매개 변수를 지정합니다.

Azure PowerShell
Get-AzResource -Name 'DoesNotExist' -Debug

전체 PowerShell 세션에 대한 디버그 로깅을 사용하도록 설정하려면 DebugPreference 변수의 값을 Continue설정합니다.

PowerShell
$DebugPreference = 'Continue'

자동화 시나리오의 알림 메시지

Azure PowerShell을 사용하여 Azure에 연결할 때 PowerShell의 정보 스트림을 사용하여 알림 메시지가 표시되어 반환된 개체 기반 출력을 변경하지 못하게 합니다. 알림 메시지가 환경에 영향을 주지 않도록 하기 위해 모든 노력을 기울였지만 사용량에 영향을 줄 수 있는 몇 가지 자동화 시나리오가 있습니다. 문제가 발생하는 경우 이러한 시나리오에서 정보 스트림을 표시하지 않는 것이 좋습니다.

Azure PowerShell
Connect-AzAccount -Subscription '<subscription name or id>' -InformationAction Ignore

WAM(웹 계정 관리자)

  • 대화형 로그인 메서드는 WAM에 대한 창을 열 수 없으며 사용자가 인증취소한 오류를 반환합니다.
  • 사용자 이름 및 암호 또는 디바이스 코드로 로그인한 후에는 Azure PowerShell cmdlet을 실행할 수 없습니다.
  • WAM 팝업 창에는 회사 및 학교 계정 옵션이 표시되지 않습니다.
  • 대화형 로그인 방법은 Windows PowerShell ISE 콘솔에서 WAM 창을 열 수 없습니다.

이러한 문제에 대한 해결 방법은 WAM을 사용하지 않도록 설정하는 것입니다.

Azure PowerShell
Update-AzConfig -EnableLoginByWam $false
  • 계정을 선택하는 WAM 팝업 창은 쉽게 찾을 수 없습니다. 다른 창을 최소화하여 팝업 창을 찾습니다.

설치

이 섹션에는 Az PowerShell 모듈을 설치할 때 발생하는 일반적인 문제에 대한 솔루션 목록이 포함되어 있습니다.

Az 및 AzureRM 공존

경고

Windows PowerShell 5.1에 AzureRM 및 Az PowerShell 모듈을 동시에 설치하는 것은 지원되지 않습니다.

동일한 Windows 시스템에 AzureRM 및 Az PowerShell 모듈을 모두 설치해야 하는 시나리오에서:

  • AzureRM은 Windows PowerShell 5.1의 현재 사용자 범위에만 설치해야 합니다.
  • PowerShell 7.2 이상에서 Az PowerShell 모듈을 설치합니다.

경고

AzureRM PowerShell 모듈은 2024년 2월 29일부터 공식적으로 사용되지 않습니다. 사용자는 지속적인 지원 및 업데이트를 보장하기 위해 AzureRM에서 Az PowerShell 모듈로 마이그레이션하는 것이 좋습니다.

AzureRM 모듈은 여전히 작동할 수 있지만 더 이상 유지 관리되거나 지원되지 않으므로 사용자의 재량에 따라 계속 사용할 수 있습니다. Az 모듈로 전환하는 방법에 대한 지침은 마이그레이션 리소스 참조하세요.

Visual Studio

이전 버전의 Visual Studio는 AzureRM 모듈을 설치하는 Azure 개발 워크로드의 일부로 Azure PowerShell을 설치할 수 있습니다. Azure PowerShell은 Visual Studio 설치 관리자를 사용하거나 앱 & 기능에서 "제거"를 사용하여 제거할 수 있습니다. PowerShell 7.x를 이미 설치한 경우 Az PowerShell 모듈을 수동으로 설치해야 수 있습니다.

프록시가 연결을 차단합니다.

PowerShell 갤러리에 연결할 수 없다는 Install-Module 오류가 발생하면 프록시 뒤에 있을 수 있습니다. 운영 체제와 네트워크 환경은 시스템 차원의 프록시를 구성하기 위한 요구 사항이 다릅니다. 프록시 설정 및 환경에 맞게 구성하는 방법은 시스템 관리자에게 문의하세요.

PowerShell 자체는 이 프록시를 자동으로 사용하도록 구성되지 않을 수 있습니다. PowerShell 5.1 이상을 사용하여 다음 명령을 사용하여 프록시를 사용하도록 PowerShell 세션을 구성합니다.

PowerShell
$webClient = New-Object -TypeName System.Net.WebClient
$webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

운영 체제 자격 증명이 올바르게 구성된 경우 이 구성은 프록시를 통해 PowerShell 요청을 라우팅합니다. 세션 간에 이 설정을 유지하려면 PowerShell 프로필명령을 추가합니다.

패키지를 설치하려면 프록시에서 HTTPS 연결을 www.powershellgallery.com허용해야 합니다.

개체 참조가 개체 인스턴스로 설정되지 않음

"개체 참조가 개체인스턴스로 설정되지 않음"은 null이거나 존재하지 않거나 액세스할 수 있는 권한이 없는 Azure 리소스를 참조한다는 의미입니다.

Azure PowerShell
$resourceId =  '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<resource-group-name>/providers/Microsoft.Web/sites/<webapp-name>/privateEndpointConnections/<endpoint-name>'
Get-AzPrivateEndpointConnection -ResourceId $resourceId
Output
Get-AzPrivateEndpointConnection: Object reference not set to an instance of an object.

Get-AzResource cmdlet을 사용하여 지정된 Azure 리소스가 있는지 확인할 수 있습니다.

Azure PowerShell
Get-AzResource -ResourceId $resourceId

AzAD cmdlet 사용 권한 문제

Az PowerShell 모듈은 Microsoft Graph API를 사용합니다. Az PowerShell 모듈을 사용하여 Azure에서 리소스를 관리하거나 관리하려면 Azure Portal 또는 다른 Azure 명령줄 도구에서 동일한 작업을 수행하는 것과 동일한 권한이 필요합니다. 사용 권한에 대한 구체적인 질문은 Microsoft Graph 권한 참조를 참조하세요.

Microsoft Graph 쿼리 매개 변수

이제 Az.Resources 아래의 AzAd cmdlet은 쿼리 매개 변수와을 지원하며 검색 쿼리 매개 변수와도 지원합니다. 구문에 대한 자세한 내용은 이전에 참조한 링크를 참조하세요.

Get-AzAdGroupMember는 서비스 주체를 반환하지 않습니다.

현재 Graph API의 제한 사항으로 인해 Az 7.x에서 Get-AzAdGroupMember 서비스 주체가 반환되지 않습니다. 해결 방법으로 Invoke-AzRestMethod 베타 버전의 Microsoft Graph API와 함께 사용할 수 있습니다.

다음 예제에서는 Az PowerShell 모듈이 필요합니다. 첫 줄의 myGroupName 그룹의 이름으로 바꿉니다.

Azure PowerShell
$Group = Get-AzADGroup -DisplayName myGroupName
((Invoke-AzRestMethod -Uri "https://graph.microsoft.com/beta/groups/$($Group.id)/members").Content |
  ConvertFrom-Json).value |
  Select-Object -Property DisplayName, Id, @{label='OdataType';expression={$_.'@odata.type'}}

명령을 찾았지만 로드할 수 없음

다음 메시지는 Az PowerShell 명령을 실행하려고 할 때 PowerShell에서 반환됩니다.

Output
Connect-AzAccount: The 'Connect-AzAccount' command was found in the module 'Az.Accounts', but the module could not be loaded. For more information, run 'Import-Module Az.Accounts'.

이 메시지는 동일한 Windows 기반 시스템에 Az 및 AzureRM PowerShell 모듈이 모두 설치되어 있고 동일한 버전의 PowerShell에 대한 $env:PSModulePath 있을 때 발생합니다.

중요

AzureRM이 Windows PowerShell의 AllUsers 범위에 설치되면 PowerShell 7용 $env:PSModulePath 일부인 위치에 설치됩니다. AzureRM과 Az PowerShell 모듈 간의 충돌로 인해 지원되지 않습니다.

Az와 AzureRM은 모두 동일한 Windows 시스템에 공존할 수 있지만 AzureRM이 PowerShell 7에 설치된 Windows PowerShell 및 Az의 CurrentUser 범위에 설치된 경우에만 가능합니다. 자세한 내용은 Az PowerShell 모듈 설치참조하세요.

경고

AzureRM PowerShell 모듈은 2024년 2월 29일부터 공식적으로 사용되지 않습니다. 사용자는 지속적인 지원 및 업데이트를 보장하기 위해 AzureRM에서 Az PowerShell 모듈로 마이그레이션하는 것이 좋습니다.

AzureRM 모듈은 여전히 작동할 수 있지만 더 이상 유지 관리되거나 지원되지 않으므로 사용자의 재량에 따라 계속 사용할 수 있습니다. Az 모듈로 전환하는 방법에 대한 지침은 마이그레이션 리소스 참조하세요.

MacOS에서 KeyChain 권한 부여가 실패하면 오류가 반환됩니다.

MacOS에서 Azure PowerShell을 실행할 때 PowerShell 세션에서 Azure 계정에 로그인하는 동안 오류 메시지가 표시될 수 있습니다.

txt
DeviceCodeCredential authentication failed: Persistence check failed. Reason: KeyChain authorization/authentication failed. .Error code: -25293. OS error code -25293.

이 문제에 대한 해결 방법으로 다음 명령을 실행하여 세션 간에 자격 증명을 저장하지 않도록 설정할 수 있습니다. 그러나 이 변경을 수행한 후에는 새 PowerShell 세션을 시작할 때마다 Connect-AzAccount 실행해야 합니다.

Azure PowerShell
Disable-AzContextAutosave

이 사이트에 대한 연결이 안전하지 않습니다.

기본 브라우저가 Microsoft Edge인 경우 Connect-AzAccount사용하여 Azure에 대화형으로 로그인하려고 할 때 다음과 같은 오류가 발생할 수 있습니다. "이 사이트에 대한 연결이 안전하지 않습니다." 이 문제를 해결하려면 Microsoft Edge의 edge://net-internals/#hsts 방문하세요. "도메인 보안 정책삭제" 아래에 localhost 추가하고 삭제를 클릭합니다.

서비스 주체 식별자 URI 확인된 도메인 오류

오류: identifierUris 속성 값은 조직의 확인된 도메인을 사용해야 하며, New-AzADServicePrincipal 또는 New-AzADApplication실행할 때 해당 하위 도메인 표시됩니다.

단일 테넌트 애플리케이션에서 AppId Uri가 기본 체계 또는 확인된 도메인을 사용해야 하는 Microsoft Entra 호환성이 손상되는 변경으로 인해New-AzADServicePrincipal 또는 New-AzADApplication cmdlet을 계속 사용하려면 Az.Resources 모듈을 버전 4.1.0 이상으로 업그레이드해야 합니다.

Az PowerShell 모듈 버전 6.0 이상으로 업그레이드할 수도 있습니다.

타임라인

이 요구 사항은 2021년 10월 15일에 발효되었습니다.

영향을 받은 버전

다음 버전의 Azure PowerShell은 AzureAD 호환성이 손상되는 변경의 영향을 받습니다.

  • Az.Resources PowerShell 모듈 버전 3.5.1-preview 이하.
  • Az PowerShell 모듈 버전 5.9.0 이하.

업그레이드 후에도 여전히 문제가 발생하는 경우 문제을 자유롭게 열어 보세요.

해결 방법

앞에서 설명한 PowerShell 모듈로 업그레이드할 수 없는 경우 서비스 주체를 만들 때 다음 단계를 따를 수 있습니다.

기타 문제

이 문서에 나열되지 않은 Azure PowerShell의 제품 문제가 발생하거나 추가 지원이 필요한 경우, GitHub에 이슈를 등록하십시오.