具有多个值和一个键的Powershell哈希表

Kev*_*ice 4 powershell data-structures

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

理想情况下,我的数据如下所示:

键--------------------------值

主机名1 ----------------- DATABASE1,DATABASE2,DATABASE3

主机名2 ----------------- DATABASE1,DATABASE2

等等...

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

$servObjects = @{}
$servObjects.Add("server1", @())
$servObjects.get_item("server1") += "database1"
Run Code Online (Sandbox Code Playgroud)

当我尝试时,这将产生一个空数组:

$servObjects.get_item("server1")
Run Code Online (Sandbox Code Playgroud)

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

$servObjects2 = @{}
$servObjects2.add($servername, $databasename)
Run Code Online (Sandbox Code Playgroud)

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

感谢您的所有意见

Jas*_*ell 8

基本上,您需要具有值为数组的哈希表。您不必使用$hashtable.get_item.add

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

结果为以下输出:

$myHashTable

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

$myHashTable.Entry1
element1
element2
Run Code Online (Sandbox Code Playgroud)