Azure Pipeline中PowerShell传入参数值丢失问题求助
Azure Pipeline中AzureCLI@2任务参数丢失问题排查与修复
问题原因
AzureCLI@2任务的arguments字段错误使用了HTML转义字符("、>),而YAML语法无需这类转义,导致参数解析失败,firewallOutputFolder参数值被清空。同时>作为YAML折叠块标量符号,与转义字符混用进一步干扰了参数传递逻辑。
修复方案
修改任务的arguments配置,移除不必要的HTML转义,使用YAML原生格式传递参数:
- task: AzureCLI@2 displayName: Remove Resource Locks inputs: azureSubscription: ${{ parameters.serviceConnection }} scriptType: 'ps' scriptLocation: 'scriptPath' ScriptPath: '${{ parameters.artifactFolder }}/powershell/fw.removeLocks.ps1' arguments: > -firewallOutputFolder "${{ parameters.artifactFolder }}" -action "Remove" workingDirectory: '$(System.DefaultWorkingDirectory)'
如果目标路径不含空格,也可以省略双引号简化写法:
arguments: > -firewallOutputFolder ${{ parameters.artifactFolder }} -action Remove
验证效果
修改后重新运行流水线,PowerShell脚本中的$firewallOutputFolder将正确获取到${{ parameters.artifactFolder }}对应的实际路径,后续文件遍历等依赖该参数的操作即可正常执行。
内容的提问来源于stack exchange,提问作者Raymondo
相关产品推荐
相关产品推荐

