Hashtables klonen nicht in neue Variable instanzieren

- 22.08.2021
von Thomas Windscheif / Microlinc



Wenn man eine PowerShell Hashtable als "Vorlage" in eine neue Variable schreibt, würde man annehmen.
Das es sich hierbei um ein eigenständiges Objekt handelt. Aber in der Realität ist dies nicht so.

Beispiel:
$Hash1 = @{"Name1"="1"}
$Hash2 = $Hash1
$Hash2["Name1"="2"]
$Hash1

Name Value
---- -----
Name1 2

Stattdessen verwendet man Clone zum Klonen der Hashtable in die neue Variable:
$Hash1 = @{"Name1"="1"}
$Hash2 = $Hash1.Clone()

Dann wird die Hash-Table Hash1 nicht mehr überschrieben.
MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=35&lev2=1&id=434 - Ausdruck vom 05.05.2024