2016-04-06 8 views
0

Ich brauche einen Datentyp für die PowerShell, um einem Schlüssel verschiedene Werte hinzuzufügen. Welchen Typ sollte ich wählen?Wörterbuch mit mehreren Werten pro Schlüssel

Die Daten sind wie:

+--------+--------+--------+--------+ 
| Serv1 | Serv2 | Serv3 | Serv4 | 
| -------+--------+--------+------- |  
| User1 | User2 | User3 | User4 | 
| User3 | User1 | User2 | User4 | 
| User7 | User8 | User9 | ------ | 
+--------+--------+--------+--------+
+4

Bitte erläutern Sie Ihren Anwendungsfall. Welcher Schlüssel? Wie werden Sie die Daten verwenden? –

Antwort

5

Dies wäre einfacher, mit mehr Informationen zu beantworten. Aber basierend darauf sieht es wie ein [hashtable] aus, wo die Werte Arrays sind, was Sie wollen.

Beispiel:

$hash = @{ 
    Serv1 = @(
     'User1', 
     'User3', 
     'User7' 
    ) 

    Serv2 = @(
     'User2', 
     'User1' 
    ) 
} 

# add a new user to an existing key 

$hash.Serv2 += 'User8' 

# add a new key 

$hash.Serv3 = @(
    'User3', 
    'User2' 
) 
+0

muss möglicherweise ersetzen die ',' mit ';' zwischen Serv1 und Serv2 beim Erstellen von $ Hash –

+3

Guter Anruf @AnthonyStringer, noch besser, kein Trennzeichen mit Newline benötigt. – briantist

+0

Ich war am Zaun über die Verwendung des Operators + = in Powershell, da ich beim Upscaling von Skripten auf die Ressourcennutzung achten. Nach dem, was ich (derzeit) verstehe, wird der Speicher neu zugewiesen und die Hashtabelle jedes Mal neu erstellt, wenn Sie ein + =; Behandelt Powershell das? –

Verwandte Themen