微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Powershell中创建哈希表数组?

如何解决如何在Powershell中创建哈希表数组?

我有一个具有以下结构的哈希表,

$podhashtable = @{2 = '1','2' ; 3 = '3','4','5' ; 1 = '6'}

这是我如何实现上述哈希表的代码

$podnumbers = @(2,3,1)
$podInfo = @()
$podhashtable = [ordered]@{}
$buff = 0
foreach ($pd in $podnumbers) {
    #$podInfo = @()
    for($i=0;$i -lt $pd;$i = $i+1) {
    $pod = Read-Host -Prompt "Assign the pod numbers for",$esxarray[$buff]
    $podinfo += $pod
    }

$podInfoOb = New-Object PSObject –Property $podsets
$podsets = @{$pd = $podInfo}
$podhashtable += $podsets
$buff = $buff + 1
}
Write-Output $podhashtable 

我正在尝试创建如下所示的哈希表数组,

$podhashtable = @{2 = '1','2'},@{3 = '3','5'},@{1 = '6'}

获取上述哈希表数组的最佳方法是什么?

解决方法

这个问题显然是指:How to add same keys with different values to a hashtable in powershell?

我想您想这样做:

$buff = 0
$podnumbers = @(2,3,1,2)
$podhashtable = foreach ($pd in $podnumbers) {
    $podInfo = @{}
    for($i=0; $i -lt $pd; $i = $i+1) {
        $pod = Read-Host -Prompt "Assign the pod numbers for" #,$esxarray[$buff]
        $podinfo[$i] = $pod
        # $podInfoOb = New-Object PSObject –Property $podsets
        $podInfo
        $buff = $buff + 1
    }
}
Write-Output $podhashtable

但是我不确定,因为您没有提供MCVE(请下次提供;例如:定义$esxarray或将其省略)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。