无法从 Powershell 中的 HashTable 获取值

Not able to get values from HashTable in Powershell

我是 Powershell 的新手。我写了一个查询,我从查询中得到两列。我想要的是 Key = Col1 和 Value = Col2。我能够打印整个哈希表,但我无法获得格式为 Col1['Col2] = x 的值。下面是我的代码:

$query1 = "select top 5 Col1, Col2 from TableName"
$databases1 = Invoke-Sqlcmd -Query $query1 -ConnectionString "ConnectionString"    
$hash = @{$databases1.Col1 = $databases1.Col2}
return $hash

变量$hash returns如下:

Name                Value                                                                                                                                                                                           
----                -----                                                                                                                                                                                           
{a, b, c,...{1, 2, 3, 4...} 

但我想以 $hash['a'] = 1 的形式访问它 谁能帮帮我?

您必须枚举 查询返回的行并在目标哈希表中为每个行创建一个条目:

$hash = [ordered] @{} # initialize the (ordered) hashtable
$databases1 | ForEach-Object {
  $hash[$_.Col1] = $_.Col2
}