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

如何在Azure Pipeline任务中创建对象并返回为变量供后续任务使用

实现方案

1. 在YAML文件中定义空对象变量

直接在YAML开头声明一个空键值对即可,示例如下:

# system_info.yml
system_data: {}

2. 用PowerShell读取YAML并完成赋值

环境准备

  • PowerShell 7及以上版本自带ConvertFrom-Yaml和ConvertTo-Yaml命令,可直接使用。
  • 若使用Windows PowerShell 5.1,需先安装powershell-yaml模块:
Install-Module -Name powershell-yaml -Scope CurrentUser -Force

赋值脚本示例

# 读取YAML文件内容并转为PowerShell对象
$yamlContent = Get-Content -Path "system_info.yml" -Raw | ConvertFrom-Yaml

# 执行systeminfo并转换为结构化对象
$systemInfoObj = systeminfo | ConvertFrom-StringData

# 将systeminfo对象赋值给YAML中的空对象
$yamlContent.system_data = $systemInfoObj

# 将修改后的内容写回YAML文件
$yamlContent | ConvertTo-Yaml | Set-Content -Path "system_info.yml" -Force

3. 后续任务中调用该对象

后续可直接读取YAML文件中的system_data对象,示例如下:

# 读取已赋值的系统信息对象
$loadedSystemData = Get-Content -Path "system_info.yml" -Raw | ConvertFrom-Yaml

# 示例:访问系统名称属性
Write-Host "当前系统名称: $($loadedSystemData.system_data.'OS Name')"

额外说明

  • 若需要更规范的系统信息结构,可替换systeminfo命令为Get-CimInstance Win32_OperatingSystem这类PowerShell原生命令,直接返回标准对象。
  • 若YAML需跨工具解析,建议使用PowerShell 7+的内置YAML转换命令,生成的格式兼容性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:35:13