Неправильное декодирование пользовательских данных CloudFormation в Base64 - PullRequest
0 голосов
/ 12 октября 2018

Я создал шаблон CloudFormation, который создает экземпляр.Я хочу передать скрипт PowerShell в экземпляр Windows через пользовательские данные;однако, когда он закодирован с Base64, шаблон Cloudformation не декодирует его правильно.

Я хочу передать это:

Set-DNSClientServerAddress -InterfaceIndex (Get-NetAdapter).InterfaceIndex -ServerAddresses ("172.31.15.30")

Когда я проверяю шаблонв CloudFormation он расшифровывается как:

Set-DNSClientServerAddress /u2013InterfaceIndex (Get-NetAdapter).InterfaceIndex /u2013ServerAddresses ("172.31.15.30")

Когда он передается в экземпляр Windows, он не распознает /u2013 и выдает ошибки.

Как мне обеспечить, чтобы линия, которую я передаю, сохраняла черту, а не декодировала ее в Unicode.

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

\u2013 - это другой тип юникод-тире .Ваш редактор, вероятно, использовал это, потому что это выглядит лучше.Попробуйте отредактировать исходный код с помощью блокнота или простого редактора и замените эту черточку юникода на правильную.Если вам трудно набирать его, вы можете скопировать его из Set-DNSClientServerAddress.Этот кажется нормальным.

0 голосов
/ 12 октября 2018
Could you try this?

"Set-DNSClientServerAddress \-InterfaceIndex (Get-NetAdapter).InterfaceIndex \-ServerAddresses ("172.31.15.30")"

На основании других, которым необходимо экранировать другие символы: AWS Cloudformation выводит двойные кавычки в файл, используя Fn :: Join

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...