PowerShell Hashtable


Wer zu einem Array auch bestimmte Werte speichern will, st√∂√üt mit Arrays an die Grenzen. Eine Hashtable ist √§hnlich einem Array, speichert aber f√ľr jeden Eintrag einen Wert. (√§hnlich dem vbscript: Dictionary)

Hashtable anlegen

In folgendem Beispiel lege ich eine Hastable mit einigen Einträgen und deren Werten an:

$hashtable = @{"Eintrag1" = "Wertvon1"; "Eintrag2" = "Wertvon2"; Eintrag3 = "Wertvon3"}

Ausgabe:

PS C:\Users\username> $hashtable = @{"Eintrag1" = "Wertvon1"; "Eintrag2" = "Wertvon2"; "Eintrag3" = "Wertvon3"}
PS C:\Users\username> $hashtable
Name Value
---- -----
Eintrag3 Wertvon3
Eintrag2 Wertvon2
Eintrag1 Wertvon1

zusätzliche Einträge

k√∂nnen mit folgendem Befehl hinzugef√ľgt werden:

$hashtable.Add("zusätzlicher Eintrag", "noch ein Wert")

Ausgabe:

PS C:\Users\username> $hashtable.Add("zusätzlicher Eintrag", "noch ein Wert")
PS C:\Users\username> $hashtable

Name Value
---- -----
Eintrag3 Wertvon3
zusätzlicher Eintrag noch ein Wert
Eintrag2 Wertvon2
Eintrag1 Wertvon1

Einträge entfernen:

$hashtable.Remove("Eintrag2")

Ausgabe:

PS C:\Users\username> $hashtable.Remove("Eintrag2")
PS C:\Users\username> $hashtable

Name Value
---- -----
Eintrag3 Wertvon3
zusätzlicher Eintrag noch ein Wert
Eintrag1 Wertvon1

Einträge ändern:

$hashtable.Set_Item("Eintrag3", "Wert f√ľr Eintrag3 ge√§ndert")

Ausgabe:

PS C:\Users\username> $hashtable.Set_Item("Eintrag3", "Wert f√ľr Eintrag3 ge√§ndert")
PS C:\Users\username> $hashtable

Name Value
---- -----
Eintrag3 Wert f√ľr Eintrag3 ge√§ndert
zusätzlicher Eintrag noch ein Wert
Eintrag1 Wertvon1

Eintrag auslesen

$hashtable.Get_Item("Eintrag3")

Ausgabe

C:\Users\username> $hashtable.Get_Item("Eintrag3")
Wert f√ľr Eintrag3 ge√§ndert

Testen ob ein Eintrag vorhanden ist

$hashtable.ContainsKey("Eintrag3")

Ausgabe

PS C:\Users\username> $hashtable.ContainsKey("Eintrag3")True

Testen ob ein bestimmter Wert vorhanden ist

$hashtable.ContainsValue("Wert f√ľr Eintrag3 ge√§ndert")

 Ausgabe

PS C:\Users\username> $hashtable.ContainsValue("Wert f√ľr Eintrag3 ge√§ndert")
True

Hashtable als Object-Array:Pipe

Zur Weiterverwendung als Object-Array, z.B. um dieses √ľber eine Pipe weiterzuverarbeiten wird Methode GetEnumerator ben√∂tigt

$hashtable.GetEnumerator() | Sort-Object Name

 Ausgabe

PS C:\Users\username> $hashtable.GetEnumerator() | Sort-Object Name

Name Value
---- -----
Eintrag1 Wertvon1
Eintrag3 Wert f√ľr Eintrag3 ge√§ndert
zusätzlicher Eintrag noch ein Wert
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE f√ľr deine Bewertung!

Aktualisiert: 02.05.2022 von Bernhard ūüĒĒ


Top-Artikel in diesem Bereich


Windows PowerShell Skript erstellen und ausf√ľhren
Im einfachsten Fall ist ein PowerShell-Skript eine Textdatei mit einer Reihe von PowerShell-Befehlen. Als PowerShell Skript versteht man eine Datei mit der Endung .ps1. Die Skriptdatei kann eine Sammlung von Befehlen, Funktionen oder Cmdlets enthalten.

Windows PowerShell Befehle: commands im √úberblick
die verf√ľgbaren PowerShell Befehle k√∂nnen mit dem Befehl:

PowerShell Loops und Array
Ein Array speichert mehrere Werte, ähnlich einer 2 spaltigen Tabelle.

Fragen / Kommentare