В Azure при развертывании виртуальной машины я хочу запустить скрипт запуска.Это должна быть строка в кодировке base64 в шаблоне развертывания.
Когда я генерирую эту строку в WSL моего компьютера с Windows, используя cat script.sh | base64 -w0
, все работает нормально.Однако я использую PowerShell для автоматизации и хочу сгенерировать это таким образом.
При развертывании я получаю сообщения об ошибках, которые не могут быть выполнены.Я обвиняю, что это не может быть правильно декодировано на стороне Azure.
Я использую следующую функцию для генерации строки base64 в ps1
function base64 {
param([string]$file)
$text = get-content $file
$bytes = [System.Text.Encoding]::UTF8.GetBytes($text)
return [Convert]::ToBase64String($bytes)
}
Когда я декодирую этот результат вWSL, использующий echo "result-from-ps1" | base64 -d
, показывает без разрывов строк, что может быть проблемой.