Compartilhar via


Perguntas frequentes sobre Azure PowerShell

O que é o Azure PowerShell?

O Azure PowerShell é um conjunto de cmdlets que permite gerir recursos do Azure diretamente com o PowerShell. Em dezembro de 2018, o módulo Az PowerShell tornou-se geralmente disponível. Agora é o módulo PowerShell recomendado para interagir com o Azure. Para saber mais sobre o módulo Az PowerShell, consulte Apresentando o módulo Az PowerShell.

Como posso desativar os avisos de alterações disruptivas no Azure PowerShell?

Para suprimir as mensagens de aviso de alteração significativa no Azure PowerShell, terá de definir a variável de ambiente SuppressAzurePowerShellBreakingChangeWarnings para true.

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

Essa variável de ambiente deve ser definida antes de importar o módulo Az ou Az.Accounts PowerShell para que entre em vigor na sessão atual do PowerShell.

Para métodos adicionais para desativar mensagens de aviso de alterações significativas no Azure PowerShell, veja Configurar as definições globais do Azure PowerShell.

Como posso desativar a mensagem de aviso de aposentação do AzureRM no Azure PowerShell?

Para suprimir a mensagem de aviso de aposentação do AzureRM no Azure PowerShell, terá de definir a variável de ambiente SuppressAzureRmModulesRetiringWarning para true.

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

Uma desvantagem do exemplo anterior é que você precisará executar o comando para cada nova sessão do PowerShell, a menos que o adicione ao seu perfil do PowerShell.

Para definir a variável de ambiente permanentemente, você também pode usar o exemplo a seguir.

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

Como determino o número máximo de tentativas de repetição HTTP no Azure PowerShell?

Para resposta HTTP geral (exceto o código de estado da resposta 429), Azure PowerShell usa o valor definido na variável de ambiente AZURE_PS_HTTP_MAX_RETRIES. Seu valor mínimo é 0. Se não especificado, o Azure PowerShell usa o valor padrão do SDK.

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

Se o código de estado da resposta HTTP for 429, Azure PowerShell usa o valor definido na variável de ambiente AZURE_PS_HTTP_MAX_RETRIES_FOR_429. Seu valor mínimo é 1. O tempo total de repetição do código de status 429 é ( + 1) * - 1. Se não especificado, o Azure PowerShell usa o valor padrão do SDK.

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

Como posso converter um SecureString em texto sem formatação no PowerShell?

Você pode usar o seguinte trecho de código para converter um SecureString () em texto sem formatação ():

$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)
}

Observação: Manipule o texto sem formatação com cuidado, pois ele é menos seguro do que um SecureString.

Porque é que o token de acesso que recebo da Get-AzAccessToken contém telescópios que não pedi?

São os escopos pré-autorizados para Azure PowerShell. Isto não significa que o token tenha acesso a essas APIs. O acesso real ainda depende das permissões da conta do utilizador, por isso este comportamento é esperado e seguro.