Нужна функция Powershell для кодирования файлов base64, как в bash - PullRequest
0 голосов
/ 15 февраля 2019

В 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, показывает без разрывов строк, что может быть проблемой.

...