You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps:如何将流水线参数传递至PowerShell脚本

解决Azure DevOps流水线参数传递到PowerShell脚本的问题

首先纠正你流水线配置里的两处拼写错误:

  • $(5ystem. DefaultWorkingDirectory) 应该改为 $(System.DefaultWorkingDirectory)(数字5改成字母S,去掉路径里的空格)
  • 脚本文件后缀 .psl 应该是 .ps1(PowerShell脚本的标准后缀)

步骤1:修改流水线YAML,传递参数

在PowerShell@2任务中,通过arguments字段将${{ parameters.env }}传递给脚本:

parameters:
    - name: env
      displayName: Select Environment
      type: string
      default: development
    
stages:
- stage: test
  displayName: test var
  jobs:
  - job: PostgresSQL
    steps:
      - task: PowerShell@2
        inputs:
          filePath: '$(System.DefaultWorkingDirectory)/test.ps1'
          arguments: '-env "${{ parameters.env }}"' # 新增该行传递参数
          errorActionPreference: 'continue'
        enabled: true

步骤2:在PowerShell脚本中接收参数

在test.ps1里用param()块定义对应参数:

param(
    [string]$env # 和YAML中传递的参数名保持一致
)

# 验证参数接收结果
Write-Host "当前环境参数值:$env"

官方文档相关说明

Azure DevOps官方文档明确:PowerShell@2任务支持通过arguments字段向脚本传递命令行参数,脚本需通过param()块定义命名参数,或使用$args数组接收未命名参数。使用命名参数时,需保证YAML中传递的参数名和脚本内定义的参数名完全匹配。

内容的提问来源于stack exchange,提问作者Cat Lover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:20:46