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

PowerShell中创建硬编码嵌套哈希表及添加元素方法

PowerShell哈希表操作指南

现有哈希表

你的初始哈希表定义是正确的:

[hashtable]$CompItem = @{
    'ComputerName' = 'Microsoft Dell X'
    'ComputerDetails' = @{
      'motherboard' = 'MSI'
      'password' = "12345"
      'os' = "Windows"
    }
}

具体操作方法

1. 给外层哈希表添加新条目

有两种常用方式:

  • 直接赋值(键不存在则自动添加,存在则覆盖):
# 用点语法添加新键"Owner"
$CompItem.Owner = "John Doe"
# 或用索引语法
$CompItem['Owner'] = "John Doe"
  • 使用Add()方法(键已存在时会报错,适合需确保键唯一的场景):
$CompItem.Add("Owner", "John Doe")

2. 给内层嵌套的ComputerDetails哈希表添加新条目

同样有两种有效方式:

  • 直接赋值:
# 给内层哈希表添加"hdd"键
$CompItem.ComputerDetails.hdd = "512GB SSD"
# 或用索引语法
$CompItem['ComputerDetails']['hdd'] = "512GB SSD"
  • 使用Add()方法:
$CompItem.ComputerDetails.Add("hdd", "512GB SSD")

注意:你之前写的示例代码存在错误,$CompItem += { ... }的写法不适用哈希表元素添加,且$ComputerDetails不是有效变量,需用字符串键名或点语法访问内层哈希表。

3. 给外层哈希表添加另一个哈希表作为新条目

直接将新哈希表赋值给新键即可:

# 添加"NetworkInfo"键,值为新哈希表
$CompItem.NetworkInfo = @{
    'IPAddress' = "192.168.1.100"
    'Gateway' = "192.168.1.1"
}

# 或用Add()方法
$CompItem.Add("NetworkInfo", @{
    'IPAddress' = "192.168.1.100"
    'Gateway' = "192.168.1.1"
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 21:12:10