Azure ARM 模板特殊字符

Azure ARM Template Special Characters

有没有办法将带有特殊字符的字符串发送到 ARM 模板自定义扩展?目前只收到部分密码的问题 ex password fkdl2#dlsj 我只看到 fkdl2 的密码被发送到 shell 脚本。其余字符正在被剥离。

 "properties":{
   "publisher":"Microsoft.Azure.Extensions",
   "type":"CustomScript",
   "typeHandlerVersion":"2.1",
   "autoUpgradeMinorVersion":true,
   "settings":{
      "skipDos2Unix":false,
      "timestamp":123456789
   },
   "protectedSettings":{
      "commandToExecute":"[concat('sh /example/dir/setup.sh ', parameters('password')]"
   }
 }

传递参数时可以使用base64函数:

"commandToExecute":"[concat('sh /example/dir/setup.sh ', base64(parameters('password')))]"

然后在setup.sh脚本中对其进行解码