Что такое 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
Эта переменная среды должна быть задана перед импортом модуля PowerShell Az или Az.Accounts , чтобы он вшел в силу в текущем сеансе 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.
Почему маркер доступа, полученный из Get-AzAccessToken, содержит области, которые я не запрашивал?
Они являются предварительно несанкционированными областями для Azure PowerShell. Это не означает, что маркер имеет доступ к этим API. Фактический доступ по-прежнему зависит от разрешений учетной записи пользователя, поэтому это поведение ожидается и безопасно.