无法从 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
}
我是 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
}