具有多个值和一个键的Powershell哈希表 [英] Powershell hashtable with multiple values and one key

查看:128
本文介绍了具有多个值和一个键的Powershell哈希表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种数据结构/ cmdlet,该数据结构/ cmdlet允许我向Powershell中的单个键添加多个值。

Im looking for a data structure/cmdlet that will allow me to add multiple values to a single key in Powershell.

我的数据理想情况如下:

My data would ideally look like this:

KEY ----------- ---------------值

KEY-------------------------- VALUES

HOSTNAME1 ------------- DATABASE1,DATABASE2,DATABASE3

HOSTNAME1-------------DATABASE1,DATABASE2,DATABASE3

HOSTNAME2 ----------------- DATABASE1,DATABASE2

HOSTNAME2-------------DATABASE1,DATABASE2

等。

我以为哈希表可以解决问题,但我无法执行以下操作:

I thought a hashtable would do the trick, but I'm unable to do the following:

$servObjects = @{}
$servObjects.Add("server1", @())
$servObjects.get_item("server1") += "database1"

当我尝试时会产生一个空数组:

This yields an empty array when I try:

$servObjects.get_item("server1")

我还尝试执行以下操作,希望Powershell能够理解我想要的内容:

I have also tried to do the following, hoping that powershell would understand what I want:

$servObjects2 = @{}
$servObjects2.add($servername, $databasename)

不幸的是,这将产生重复的键异常

This will unfortunately yield a duplicate key exception

感谢所有输入

推荐答案

您基本上想要一个散列表,其值是数组。您不必使用 $ hashtable.get_item .add

You basically want a hash table with values that are arrays. You don't have to use $hashtable.get_item or .add

$myHashTable = @{} # creates hash table
$myHashTable.Entry1 = @() #adds an array
$myHashTable.Entry1 += "element1"
$myHashTable.Entry1 += "element2"

结果如下输出:

$myHashTable

Name                           Value                                                                                                                                                                                           
----                           -----                                                                                                                                                                                           
Entry1                         {element1, element2}

$myHashTable.Entry1
element1
element2

这篇关于具有多个值和一个键的Powershell哈希表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆