无法将哈希表添加到datagrid

时间:2018-03-23 10:19:36

标签: powershell azure azure-powershell

我不确定我在做什么错,但基于谷歌搜索,下面的代码应该可以用于将哈希插入到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()

1 个答案:

答案 0 :(得分:1)

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

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

foreach($Hashkey in $Hold.keys)

成为:

foreach($Hashkey in $Hold)

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