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

PowerShell哈希表:如何从K8s Pod环境变量中取值

解决方法

因为$hash["service-testurl"].spec.template.spec.containers.env是System.Object[]类型的数组,每个元素是包含name和value属性的独立对象,不能直接通过name["ADDR"]这种方式索引。你需要先筛选出name等于"ADDR"的对象,再提取它的value。

直接用以下PowerShell代码即可获取ADDR对应的环境变量值:

# 筛选出name为ADDR的环境变量对象,然后提取value
$addrValue = $hash["service-testurl"].spec.template.spec.containers.env | Where-Object { $_.name -eq "ADDR" } | Select-Object -ExpandProperty value

如果确定数组中只会有一个name为ADDR的项,也可以简化写法:

$addrValue = ($hash["service-testurl"].spec.template.spec.containers.env | Where-Object { $_.name -eq "ADDR" }).value

补充说明

  • Where-Object { $_.name -eq "ADDR" }:从数组中筛选出name属性等于"ADDR"的对象
  • Select-Object -ExpandProperty value:将筛选出的对象的value属性展开为直接值
  • 第二种写法利用PowerShell的属性访问特性,当筛选结果是单个对象时,直接通过.value获取属性值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:10:18