NWC Services Blog
Nach Zuweisung von Software und dem damit verbundenen Erzeugen neuer Policies, müssen Ihre Clients in der Regel bis zum nächsten Polling warten, damit die Änderungen angewendet werden.
Über die DSM 7 Konsole hat man jedoch – ähnlich der „Sofort-Installation“ unter NetInstall v5.x – die Möglichkeit, die Aktion „Änderungen ausführen“ durchzuführen und diese Wartezeit damit zu verkürzen. In diesem Blog-Artikel möchte ich Ihnen kurz zeigen, wie Sie diese Möglichkeit auch per PowerShell abbilden können.
Nach der kleinen Einführung und dem richtigen Connect zur DSM via PSX wollen wir uns als nächstes einige sehr oft genutzte Features der DSM ansehen und uns hierfür weitere kleine Codeschnipsel erstellen. So kommen wir zunächst zu einem der wohl am meisten genutzten Features. Dem "Computer neu installieren"-Dialog.
Einige Hersteller von Softwaremanagement Systemen (mitunter eben auch Frontrange mit DSM 7) stellen eine eigene Packaging Workbench und einen Satz von Skript-Befehlen zur Verfügung, die sich auf die Anforderung für die Verteilung von Software spezialisiert haben. Ein Nachteil dieser Lösungen ist, dass sie nicht portierbar sind, da die Skript-Befehle nicht in einer bekannten Sprache (MSI, VB-Script, Powershell, etc.) implementiert sind, sondern jeweils individuelle Lösungen darstellen. Daher werden immer wieder Empfehlungen von verschiedenen Seiten ausgesprochen, alle Softwarepakete doch zu standardisieren und die Softwaremanagement Umgebung nur noch für die reine Verteilung im Unternehmen zu nutzen. Dies ist auch der Ansatz, den Microsoft mit seinem hauseigenen Produkt SCCM verfolgt. So sinnvoll diese Aussage auf den ersten Blick auch zu sein scheint, gibt es oft gute Gründe, die nativen Skript-Systeme der Hersteller einzusetzen.
Mit der DSM 7.0 Patch 2 wurde die Citrix Management Suite um XenApp 6.x Support erweitert. Das Publishing läuft jetzt über Power Shell Skripte. Nach wie vor kümmert sich der BLS um das Publishing. Damit der BLS Remote auf den XenApp Server zugreifen kann, muss das Remoting auf allen Zielsystemen aktiviert werden. Hierfür gibt es eine Prepackaged App um diese Anforderung mit DSM zu erledigen.
Wie schon angekündigt starten wir unsere "Schnipseljagd" relativ einfach damit, dass wir uns mit der EMDB verbinden und anschließend hierfür ein eigenes kleines PowerShell Profil erstellen, welches beim Starten der PowerShell sofort geladen wird. Dieser Schritt wird eine grundlegende Voraussetzung für alle weiteren Codeschnipsel werden, weshalb ich diesen nun etwas genauer beschreiben möchte.
Seit einiger Zeit bietet die Firma NWC Services eine PowerShell Erweiterung (PSX) zur Automatisierung und Steuerung der DSM Umgebung an. So können z.B. Tätigkeiten oder Aufgaben, die vielleicht einen erhöhten Klick- oder Zeitaufwand mit sich bringen, durch einfache PowerShell Scripte abgebildet werden.
Da sehr viele Kunden den Funktionsumfang der PSX nicht wirklich einschätzen können oder vielleicht in Sachen Scripting nicht die größte Erfahrung haben, rückt dieses mächtige Werkzeug meist schnell von der "Must-Have" auf die "Nice-To-Have" Liste.
Seit kurzem ist jetzt die neue Version 2.0 unserer PowerShell Extensions für FrontRange DSM 7 (PSX 2.0) verfügbar.
Diese neue Version, die übrigens nicht mehr für die Verwaltung von Enteo v6 verwendet werden kann, führt eine Reihe von Neuerungen ein, die die PowerShell-basierte Verwaltung von DSM 7 Umgebungen weiter vereinfachen.
Heute mal ein kurzer Hinweis auf einen anderen Blog: Markus Bäker, Systemingenieur bei einem Karlsruher Systemhaus, beschäftigt sich in letzter Zeit intensiv mit Enteo v6 / DSM 7 und automatisiert in einem großen Projekt viele administrative Aufgaben mit unseren PowerShell Extensions.
Über seine Erfahrungen, Beispiele sowie Tipps & Tricks berichtet er auf seinem Blog unter http://www.mbaeker.de/tag/enteo/.
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...
In diesem Teil der Artikelserie über die PowerShell Scriptingmöglichkeiten in DSM 7 soll es nun um die konkrete Anwendung gehen.
Wie beim Scripting-Support für VBScript, JScript und Perl-Scripts, besteht auch für PowerShell-Scripts die Möglichkeit, lesend auf NetInstall-Variablen zuzugreifen oder die Werte von NetInstall-Variablen zu setzen. Dazu werden über das PowerShell-Modul Enteo.Powershell.ScriptCmdlet.dll, das Teil des DSM 7 Clients ist, folgende Cmdlets zur Verfügung gestellt:
- Get-NIVar
- Set-NIVar
- Write-NIReport
- Set-NIError
- Get-NiInstParam