2017-09-25 4 views
2

Je recherche une structure de données/cmdlet qui me permettra d'ajouter plusieurs valeurs à une seule clé dans Powershell.Hashtable Powershell avec plusieurs valeurs et une clé

Mes données chercheraient idéalement comme ceci:

KEY -------------------------- VALEURS

HOSTNAME1- ------------ database1, database2, base de donnée3

hostname2 ------------- database1, database2

etc ...

Je pensais qu'une hashtable ferait l'affaire, mais je suis incapable de faire ce qui suit:

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

Cela donne un tableau vide lorsque je tente:

$servObjects.get_item("server1") 

J'ai aussi essayé de faire ce qui suit, en espérant que Powershell comprendrait ce que je veux:

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

Cette volonté malheureusement produire une exception de clé en double

Merci pour tout et toutes les entrées

Répondre

1

Vous voulez fondamentalement une table de hachage avec des valeurs qui sont des tableaux. Vous ne devez pas utiliser $hashtable.get_item ou .add

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

Il en résulte la sortie suivante:

$myHashTable 

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

$myHashTable.Entry1 
element1 
element2