无法将哈希表添加到数据网格

unable to add hashtable to datagrid

我不确定我做错了什么,但是根据 google 搜索,下面的代码应该可以将哈希插入到数据网格中。 数据网格根本没有任何值。 对不起,我是 Powershell 的新手,正在努力安静一段时间..

下面是我要实现的代码:

$Subs = Get-AzureRMSubscription
$counter = 1
$Hold = foreach($Sub in $Subs) {
$Entry = New-Object System.Object
$Entry | Add-Member -NotePropertyName "Sr. No" -NotePropertyValue $counter
$Entry | Add-Member -NotePropertyName "Subscription ID" -NotePropertyValue 
$Sub.ID
$Entry | Add-Member -NotePropertyName "Name" -NotePropertyValue $Sub.Name

$Entry
$counter++
}
$Hold

foreach($Hashkey in $Hold.keys){
$tempno = $Hashkey.'Sr. No'
$tempid = $Hashkey.'Subscription ID'
$tempnm = $Hashkey.Name
$datagrid.Rows.Add($tempno, $tempid, $tempnm)
}
$form.Controls.Add($datagrid)
$form.showDialog()

根据 Mathias 的评论,问题是您将 $Hold 视为一个哈希表,但它不是,它实际上是一个对象集合(数组)。

我认为您只需更改即可修复您的代码:

foreach($Hashkey in $Hold.keys)

成为:

foreach($Hashkey in $Hold)

$Hold 没有 .Keys 属性 因为它不是哈希表。