我不确定我在做什么错,但基于谷歌搜索,下面的代码应该可以用于将哈希插入到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()
答案 0 :(得分:1)
根据Mathias的评论,问题在于您将$Hold
视为哈希表,但不是,它实际上是对象的集合(数组)。
我认为您只需更改即可修改代码:
foreach($Hashkey in $Hold.keys)
成为:
foreach($Hashkey in $Hold)
$Hold
没有.Keys
属性,因为它不是哈希表。