2017-09-25 2 views
2

Ich suche nach einer Datenstruktur/einem Cmdlet, mit der ich mehrere Werte zu einem einzelnen Schlüssel in Powershell hinzufügen kann.Powershell-Hashtabelle mit mehreren Werten und einem Schlüssel

würde meine Daten im Idealfall wie folgt aussehen:

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

HOSTNAME1- ------------ DATABASE1, database2, Datenbank3

hostname2 ------------- DATABASE1, database2

etc ...

Ich dachte, eine Hashtable würde den Trick machen, aber ich kann Folgendes nicht tun:

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

Dies ergibt ein leeres Array, wenn ich versuche:

$servObjects.get_item("server1") 

Ich habe auch versucht die folgenden zu tun, in der Hoffnung, dass Powershell würde verstehen, was ich will:

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

Dieser Wille leider eine doppelte Schlüssel Ausnahme

Danke für alle und alle Eingabe

Antwort

1

Sie möchten grundsätzlich eine Hash-Tabelle mit Werten, die Arrays sind. Sie haben noch $hashtable.get_item oder .add

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

Daraus ergibt sich die folgende Ausgabe verwenden:

$myHashTable 

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

$myHashTable.Entry1 
element1 
element2 
Verwandte Themen