【发布时间】:2019-11-16 07:10:21
【问题描述】:
尝试使用 get-WmiObject 从类中获取多个对象。我必须将其作为哈希表/字典类型返回。
我正在使用的命令:
get-WmiObject -class win32_SoundDevice | select-object Name, Status
我得到了什么:
Name Status
---- ------
Intel(R) Display Audio OK
Realtek Audio OK
我想创建一个看起来像这样的东西:
[
{
"Name": "Intel(R) Display Audio",
"Status": "OK"
},
{
"Name": "Realtek Audio",
"Status": "OK"
}
]
我知道我可以将 | convertTo-json 命令附加到初始命令,但我想从头开始创建哈希表,因为我将在可能不使用 convertTo-json 命令的旧系统上使用它。
【问题讨论】:
-
“哈希表”是什么意思?我在您的示例中的任何地方都看不到任何哈希表... [grin]
-
Select-Object返回System.Management.Automation.PSObject,而不是哈希表。ConvertTo-Json在 PowerShell 3.0+ 中可用。 -
@Lee_Dailey key : 值对对象,格式如上所示。
-
@JosefZ 正如我在底部所说,我不想依赖 convertto-Json 命令。
-
第二次@Lee_Dailey 你想要什么? Hashtable 类型的对象、Dictionary 类型的对象、自定义 PS 对象、以 JSON 格式格式化的 text 类型的对象?通过简单地将命令的输出分配给一个变量,您就拥有了一个键值对象的对象数组。
标签: arrays powershell object command hashtable