By Benedikt Gunzelmann on Friday, 24 January 2014
Category: PowerShell Extensions / PSX

PSX Snippets (Targetlist erweitern / Policys duplizieren)

Nachdem ich in letzter Zeit immer häufiger nach einer Möglichkeit gefragt wurde, ob man Software Policys einer bestehenden statischen oder dynamischen Gruppe auf einfachem Wege duplizieren, oder auch die Targetlist der bestehenden Policys erweitern kann, möchte ich kurz einen Weg aufzeigen mit welchem sich die gewünschte Aktion per PSX realisieren lässt.

 Zunächst benötigen wir sowohl eine Quellgruppe mit diversen Policys, als auch eine neue, leere Zielgruppe innerhalb der DSM.

 

Um die drei Policys nun per PowerShell auf die Zielgruppe zu duplizieren kann wie folgt vorgegangen werden:

Um das Script später einfacher wieder verwenden zu können, definieren wir zu Beginn einige Parameter die im weiteren Verlauf des Scriptes ausgelesen werden. Hierbei wird sowohl ein Parameter pro Ziel-/Quellgruppe als auch ein Parameter für den verwendeten BLS angegeben. Zusätzlich zur gezeigten Konfiguration wäre als weitere Option noch ein Status Parameter denkbar, über den z.B. entschieden werden könnte ob nur aktive, inaktive oder alle Policys dupliziert werden sollen.



Damit unsere Aktionen überhaupt per PSX ausgeführt werden können muss wie gewohnt natürlich auch eine Verbindung zur DSM aufgebaut werden. Der folgende Baustein kann hierfür verwendet werden.



Um nun bereits zugewiesene Policys später weiter verwenden bzw. auf unsere Zielgruppe zuweisen zu können, müssen zunächst beide Gruppenobjekte gesucht werden. Zuerst suchen wir die Zielgruppe und merken uns das Objekt als „$destgrp“.



Anschließend wird ebenfalls das Quellgruppenobjekt gesucht und als „$srcgrp“ gespeichert. Die dort existierenden Policys können nun per „$srcgrp.getpolicies()“ mit relativ wenig Aufwand ausgelesen werden.



Nachdem wir nun sowohl die beiden Gruppen als auch die zu duplizierenden Policyinstanzen gesucht haben kann der eigentliche Vorgang beginnen. Wie anfänglich schon erwähnt wäre es sowohl denkbar neue Policys zu erstellen als auch die bestehende Targetliste einer Policy zu erweitern. Der folgende Baustein sorgt genau für die zweite Variante und erweitert die Policy um ein zusätzliches Ziel.

Führt man das Script nun aus, stellt sich folgende Ausgabe dar. Die drei gefundenen Policys wurden jeweils um ein weiteres Target „destination“ erweitert.



Anschließend kann das Ergebnis ebenfalls in der DSM betrachtet werden.


Related Posts

Leave Comments