带有 space 参数的 ARM 模板自定义脚本扩展
ARM Template Custom Script Extension with paramaters that have a space
powershell -File './scripts/myscript.ps1' -Param1 "My Param"
部署自定义脚本扩展所需的语法是什么,该脚本扩展调用包含 space 参数的 PowerShell 文件。这些是我迄今为止尝试过的方法,其中 none 已经奏效。其中每一个都与我的 ARM 模板中的一样:
# Failed to being executing the script. Error from the logs on the VM: "VMExtensionProvisioningError"
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount \"', parameters('vstsAccount'), '\"')]"
# Failed in the same way.
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount \\"', parameters('vstsAccount'), '\\"')]"
# Ran, but the parameters entering my PowerShell file were wrapped in `ticks`
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount `\"', parameters('vstsAccount'), '`\"')]"
创建一个变量来保存引号,然后连接您想要的字符串:
"variables": {
"singleQuote": "'",
},
...
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount ', variables('singleQuote'), parameters('vstsAccount'), variables('singleQuote'))]"
转义的第一个变体是正确的。要在 ARM 模板中转义,请使用 \
powershell -File './scripts/myscript.ps1' -Param1 "My Param"
部署自定义脚本扩展所需的语法是什么,该脚本扩展调用包含 space 参数的 PowerShell 文件。这些是我迄今为止尝试过的方法,其中 none 已经奏效。其中每一个都与我的 ARM 模板中的一样:
# Failed to being executing the script. Error from the logs on the VM: "VMExtensionProvisioningError"
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount \"', parameters('vstsAccount'), '\"')]"
# Failed in the same way.
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount \\"', parameters('vstsAccount'), '\\"')]"
# Ran, but the parameters entering my PowerShell file were wrapped in `ticks`
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount `\"', parameters('vstsAccount'), '`\"')]"
创建一个变量来保存引号,然后连接您想要的字符串:
"variables": {
"singleQuote": "'",
},
...
"[concat('powershell -File InstallVSTSAgent.ps1 -vstsAccount ', variables('singleQuote'), parameters('vstsAccount'), variables('singleQuote'))]"
转义的第一个变体是正确的。要在 ARM 模板中转义,请使用 \