Powershell 无法将哈希表添加到datagrid

Powershell 无法将哈希表添加到datagrid,powershell,azure,azure-powershell,Powershell,Azure,Azure Powershell,我不确定我做错了什么,但基于谷歌搜索,下面的代码应该可以用于将哈希插入datagrid。 数据网格中没有任何值。 抱歉,我是新加入Powershell的,有一段时间我一直在努力保持安静 下面是我正在尝试实现的代码: $Subs = Get-AzureRMSubscription $counter = 1 $Hold = foreach($Sub in $Subs) { $Entry = New-Object System.Object $Entry | Add-Member -NotePrope

我不确定我做错了什么,但基于谷歌搜索,下面的代码应该可以用于将哈希插入datagrid。 数据网格中没有任何值。 抱歉,我是新加入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
属性,因为它不是哈希表。

$Hold
不是哈希表,它是一个对象数组谢谢你标记,它工作了!!!!