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

时间:2017-07-07 14:04:30

标签: powershell hash

我有一个名为$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。目标是拥有一个包含每个值的嵌套表。

2 个答案:

答案 0 :(得分:0)

如果您尝试将数组的值添加到哈希表中,则可以遍历数组并使用$allresults.Add(<key>,<value>)

答案 1 :(得分: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
    }
}