NWC Services Blog
PowerShell-Scripts in DSM 7 (Teil III)
Im heutigen (recht kurzen) Blogeintrag soll es nun um das noch nicht beschriebene Cmdlet Get-NiInstParam gehen.
Mit diesem Cmdlet wird nicht – wie man anhand des Namens womöglich vermuten könnte (und wovon ich bei meinen ersten Tests auch ausgegangen bin) – der Wert eines für das entsprechende Paket definierten Installations-Parameters ermittelt...
Stattdessen liefert das Cmdlet ein Array mit den Namen (in Großbuchstaben, was aber nicht relevant sein sollte) aller für das Paket definierten Installations-Parameter. In der Regel wird der Script-Programmierer zwar wissen, welche Installations-Parameter für ein Paket definiert wurden, jedoch kann diese Funktion sehr nützlich sein, wenn man sich z.B. eine Art "PowerShell Script-Bibliothek" aufbaut und diese in mehreren Paketen verwendet wird.
Auf die Werte der jeweiligen Parameter wird, wie üblich, ganz einfach über InstallationParameters. zugegriffen. Das heißt, das im zweiten Teil beschriebene Cmdlet Get-NIVar wird auch benutzt, die Werte von Installations-Parametern zu ermitteln. Übrigens kann auf diesem Weg auch auf den Klartext-Wert eines als Kennwort-Typ definierten Parameters zugegriffen werden.
Das im Folgenden dargestellte Script holt sich zuerst alle definierten Installations-Parameter in eine Variable und geht anschließend in einer Schleife durch das Array. Darin wird dann für jeden Parameter dessen Wert ermittelt und eine entsprechender Logfile-Eintrag in das aktuelle Installer-Log gemacht:
Ein kleiner Bug, den ich heute auch an FrontRange gemeldet habe, sei an dieser Stelle nicht verschwiegen: ist ein NetInstall-Paket, das den oben beschriebenen Mechanismus verwendet, Teil eines Software-Sets, so liefert das Cmdlet Get-NiInstParam nur die Installations-Parameter des Sets zurück (die es in der Regel aber garnicht gibt). Dabei handelt es sich um einen bestätigten Fehler.
When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.
Kommentare