powershell - 将数组添加到现有的嵌套哈希表

问题描述 投票:0回答:2

我有一个名为:

$results = @()

的数组或 PSCustomObject

我有一个嵌套哈希表,名为:

$allResults = @{}

$results |ft
,在控制台中显示:

Brokering        Name             WriteCacheSize   dFreeSpace   (and more...)   
---------        ----             --------------   ----------            
N/A              server0001       0,004            22,83             
N/A              server0002       0,004            21,86           

$allresults |ft
显示:

Name                       Value                                                
----                       ----
server0001                     {SCOMStatus, PVSServer, RegistrationState, ServerLoad...}
server0001                     {SCOMStatus, PVSServer, RegistrationState, ServerLoad...}                     

两个 $ 中的名称是相同的。应该有办法将

$results
中的值添加到
$allresults
中,但我不知道该怎么做。

我想要哈希嵌套表中的所有内容。如何将

$results
中的值添加到
$allresults
。目标是拥有一个包含每个值的嵌套表。

powershell hash
2个回答
0
投票

如果您尝试将数组的值添加到哈希表中,您可以循环遍历数组并使用

$allresults.Add(<key>,<value>)


0
投票

感谢大家的回复。 我终于做到了。我创建了另一个具有自定义属性的对象,然后填充了哈希表。 这是代码:

$myObjectProperties = @(
"Brokering"
"PVSServer"
"Name"
"VDA"
"WMI"
"vDisk"
"dFreeSpace"
"WriteCacheSize"
"Spooler"
"CitrixPrint"
"Uptime"
"cFreeSpace"
"RunspaceId"
)
foreach ($element in $results){
    foreach ($property in $myObjectProperties){
        $allresults.$($element.Name).$property = $element.$property
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.