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

hivapdat  于 2023-02-16  发布在  Shell
关注(0)|答案(2)|浏览(192)

我有一个名为的数组或PSCustomObject:$results = @()
我有一个嵌套的哈希表,叫做:$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中。目标是拥有一个包含所有值的嵌套表。

eyh26e7m

eyh26e7m1#

如果你想把一个数组的值添加到哈希表中,你可以循环遍历这个数组,然后使用$allresults.Add(<key>,<value>)

t40tm48m

t40tm48m2#

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

$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
    }
}

相关问题