Azure PowerShell 대한 질문과 대답

Azure PowerShell이란?

Azure PowerShell PowerShell을 사용하여 Azure 리소스를 직접 관리할 수 있는 cmdlet 집합입니다. 2018년 12월에 Az PowerShell 모듈이 일반 공급되었습니다. 이제 Azure와 상호 작용하는 데 권장되는 PowerShell 모듈입니다. Az PowerShell 모듈에 대한 자세한 내용은 Az PowerShell 모듈 소개를 참조하세요.

Azure PowerShell에서 주요 변경 경고 메시지를 비활성화하려면 어떻게 해야 하나요?

Azure PowerShell에서 변경 사항 경고 메시지를 억제하려면, 환경 변수 SuppressAzurePowerShellBreakingChangeWarningstrue로 설정해야 합니다.

Set-Item -Path Env:\SuppressAzurePowerShellBreakingChangeWarnings -Value $true

현재 PowerShell 세션에서 적용하려면 Az 또는 Az.Accounts PowerShell 모듈을 가져오기 전에 이 환경 변수를 설정해야 합니다.

Azure PowerShell에서 변화로 인해 기능이 중단될 수 있다는 경고 메시지를 비활성화하는 추가 방법은 Azure PowerShell 전역 설정 구성을 참조하세요.

Azure PowerShell AzureRM 사용 중지 경고 메시지를 사용하지 않도록 설정하려면 어떻게 해야 하나요?

Azure PowerShell에서 AzureRM 사용 중지 경고 메시지를 표시하지 않으려면 환경 변수 SuppressAzureRmModulesRetiringWarningtrue로 설정해야 합니다.

Set-Item -Path Env:\SuppressAzureRmModulesRetiringWarning -Value $true

이전 예제의 한 가지 단점은 PowerShell 프로필에 추가하지 않는 한 각 새 PowerShell 세션에 대한 명령을 실행해야 한다는 것입니다.

환경 변수를 영구적으로 설정하려면 다음 예제를 사용할 수도 있습니다.

[System.Environment]::SetEnvironmentVariable('SuppressAzureRmModulesRetiringWarning', 'true', [System.EnvironmentVariableTarget]::User)

Azure PowerShell 최대 HTTP 재시도 시간을 확인하려면 어떻게 해야 하나요?

일반적인 HTTP 응답(응답 상태 코드는 429 제외)의 경우 Azure PowerShell AZURE_PS_HTTP_MAX_RETRIES 환경 변수에 정의된 값을 사용합니다. 최소값은 0입니다. 지정하지 않으면 Azure PowerShell SDK 기본값을 사용합니다.

[System.Environment]::SetEnvironmentVariable('AZURE_PS_HTTP_MAX_RETRIES ', 3, [System.EnvironmentVariableTarget]::User)

HTTP 응답 상태 코드가 429인 경우 Azure PowerShell AZURE_PS_HTTP_MAX_RETRIES_FOR_429 환경 변수에 정의된 값을 사용합니다. 최소값은 1입니다. 상태 코드 429의 총 재시도 시간은 (AZURE_PS_HTTP_MAX_RETRIES + 1) * AZURE_PS_HTTP_MAX_RETRIES_FOR_429 - 1입니다. 지정하지 않으면 Azure PowerShell SDK 기본값을 사용합니다.

[System.Environment]::SetEnvironmentVariable('AZURE_PS_HTTP_MAX_RETRIES_FOR_429 ', 3, [System.EnvironmentVariableTarget]::User)

PowerShell에서 SecureString을 일반 텍스트로 변환하려면 어떻게 해야 하나요?

다음 코드 조각을 사용하여 SecureString()을 일반 텍스트($secureString$plainText)로 변환할 수 있습니다.

$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString)
try {
    $plaintext = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr)
    # Perform operations with the contents of $plaintext in this section.
} finally {
    # The following line ensures that sensitive data is not left in memory.
    $plainText = [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}

메모: SecureString보다 안전하지 않으므로 일반 텍스트를 신중하게 처리합니다.

Get-AzAccessToken 명령에서 받은 액세스 토큰에 요청하지 않은 범위가 포함된 이유는 무엇인가요?

Azure PowerShell의 사전 승인된 범위입니다. 토큰이 해당 API에 액세스할 수 있는 것은 아닙니다. 실제 액세스는 여전히 사용자 계정의 사용 권한에 따라 달라지므로 이 동작이 예상되고 안전합니다.