다음을 통해 공유


Az PowerShell 모듈 문제 해결

디버그 로깅 활성화

Az PowerShell 모듈의 문제를 해결하기 위해 수행해야 하는 첫 번째 단계 중 하나는 디버그 로깅을 사용하는 것입니다.

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

Get-AzResource -Name 'DoesNotExist' -Debug

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

$DebugPreference = 'Continue'

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

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

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

WAM(웹 계정 관리자)

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

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

Update-AzConfig -EnableLoginByWam $false
  • 계정을 선택하는 WAM 팝업 창은 찾기가 쉽지 없습니다. 다른 창을 최소화하여 팝업 창을 찾으세요.

설치

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

Az 및 AzureRM 공존

Warning

Windows PowerShell 5.1에 AzureRM 및 Az PowerShell 모듈을 둘 다 동시에 설치할 수는 없습니다.

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

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

Warning

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 모듈을 수동으로 설치해야 할 수 있습니다.

프록시 연결 차단

Install-Module에서 PowerShell 갤러리에 연결할 수 없다는 오류가 발생하는 경우 프록시가 설치되어 있을 수 있습니다. 운영 체제와 네트워크 환경에 따라 시스템 수준 프록시 구성에 대한 요구 사항이 다릅니다. 프록시 설정 및 환경에 맞게 구성하는 방법에 대해서는 시스템 관리자에게 문의하세요.

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

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

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

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

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

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

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

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

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을 그룹의 이름으로 바꿉니다.

$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에서 다음 메시지가 반환됩니다.

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

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

Important

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

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

Warning

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

AzureRM 모듈은 여전히 작동할 수 있지만, 더 이상 유지 관리되거나 지원되지 않으므로 계속 사용할 경우 사용자가 모든 책임과 위험을 감수해야 합니다. Az 모듈로 전환하는 방법에 대한 지침은 마이그레이션 리소스를 참조하세요.

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

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

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

이 문제를 해결하기 위해 다음 명령을 실행하여 세션 간에 자격 증명 저장을 사용하지 않도록 설정할 수 있습니다. 그러나 이렇게 변경한 후에는 새 PowerShell 세션을 시작할 때마다 Connect-AzAccount을(를) 실행해야 합니다.

Disable-AzContextAutosave

이 사이트에 대한 연결이 안전하지 않음

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

서비스 주체 IdentifierUri 확인된 도메인 오류

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

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

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에 문제를 제출합니다.