如何将带有特殊字符的连接字符串作为参数传递给 Azure DevOps 中的 PowerShell 任务

How to pass connection string with special characters as a parameter to PowerShell task in Azure DevOps

我正在尝试将连接字符串作为参数传递给 power-shell 任务,但它 给出错误:

Cannot convert value to type System.String

示例连接字符串:

Data Source=abc:abc-abc-abc-abc.abc.abc.abc,7458;Abc abc=abc;abc ac=ac-abc@abc-abc-ab-ab;Abc=Abc#345abc;Abc Ab=60

呼叫:

-BlueConnection $(CONNECTION_BLUE) -GreenConnection $(CONNECTION_GREEN)

电源shell文件abc.ps1

Param(
[Parameter(Mandatory = $true)]
[string]$BlueConnection,
[Parameter(Mandatory = $true)]
[string]$GreenConnection
)

echo "Hi  $BlueConnection"

给出以下错误:

Cannot convert value to type System.String

-BlueConnection $(CONNECTION_BLUE) -GreenConnection $(CONNECTION_GREEN) 应该是 -BlueConnection "$(CONNECTION_BLUE)" -GreenConnection "$(CONNECTION_GREEN)"

就像任何时候传递命令行参数一样,如果它包含空格或特殊字符,则需要用引号引起来。