Часто задаваемые вопросы о Azure PowerShell

Что такое Azure PowerShell?

Azure PowerShell — это набор командлетов, который позволяет управлять ресурсами Azure непосредственно с помощью PowerShell. В декабре 2018 года модуль Az PowerShell стал общедоступным. Теперь это рекомендуемый модуль PowerShell для взаимодействия с Azure. Дополнительные сведения о модуле Az PowerShell см. в статье Знакомство с модулем Az PowerShell.

Как отключить предупреждения о критических изменениях в Azure PowerShell?

Чтобы отключить предупреждения о критических изменениях в Azure PowerShell, необходимо задать для переменной среды SuppressAzurePowerShellBreakingChangeWarnings значение true.

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

Эта переменная среды должна быть задана перед импортом Az или Az.Accounts модулем PowerShell, чтобы он вшел в силу в текущем сеансе PowerShell.

Дополнительные методы отключения предупреждений о критических изменениях в Azure PowerShell см. в статье Настройка глобальных параметров Azure PowerShell.

Как отключить предупреждение об выходе AzureRM в Azure PowerShell?

Чтобы отключить предупреждение об выходе AzureRM в Azure PowerShell, необходимо задать для переменной среды SuppressAzureRmModulesRetiringWarning значение true.

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

Одним из недостатков предыдущего примера является то, что вам потребуется выполнить команду для каждого нового сеанса PowerShell, если вы не добавите его в профиль PowerShell.

Чтобы задать переменную среды постоянно, можно также использовать следующий пример.

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

Как определить максимальное время повтора HTTP в Azure PowerShell?

Для общего 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)

Как преобразовать SecureString в обычный текст в PowerShell?

Для преобразования 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.