Die Global Software Library verwalten

In der Global Software Library lassen sich leider über die SOAP-Schnittstelle und damit auch über die PowerShell Extensions for Ivanti DSM nur relativ wenige Aktionen durchführen, da die meisten Aktionen in diesem Bereich Zugriff auf das Dateisystem verwenden. Diese Zugriffe werden durch die DSM Management Console direkt und nicht über den Administration Webservice ausgeführt, sodass diese Aktionen eben über PowerShell auch nicht verfügbar sind. Nichtsdestotrotz können Sie zumindest Ordner, Software-Kategorien und in gewissen Grenzen auch Software-Pakete anlegen, Pakete freigeben, Pilotinstallationen durchführen und Software-Pakete zuweisen sowie einige weitere Verwaltungsaufgaben in diesem Bereich automatisieren.


Wechseln Sie zunächst durch


cd "emdb:\rootDSE\Global Software Library"


in das Rootverzeichnis der Global Software Library.


Ordner und Software-Kategorien verwalten

Mit dem Cmdlet New-EmdbSoftwareFolder können Sie einen neuen Ordner anlegen. Führen Sie nun also den Befehl


New-EmdbSoftwareFolder "Software Set Library"


aus.


Anschließend legen Sie eine neue Software-Kategorie an. Software-Kategorien sind das Pendant der Global Software Library zu Gruppen im Organisations-Verzeichnis und werden daher auch analog erzeugt und verwaltet. Um beispielsweise eine statische Software-Kategorie "Tools & Utilities" zu erzeugen und das Paket "Adobe Reader 9.0" in diese Kategorie aufzunehmen, verwenden Sie die folgenden Befehle:


$MySWCategory = New-EmdbSoftwareCategory -Path "Tools & Utilities"

$MyPackage = Get-EmdbSoftwarePackage "emdb:\rootDSE\Global Software Library\Application Library\Adobe\Adobe Reader\Adobe Reader 9.0"

$MySWCategory.AddMember($MyPackage)


Hinweis: Das obige Beispiel setzt voraus, dass das Paket "Adobe Reader 9.0" im Ordner "Application Library\Adobe\Adobe Reader" existiert.


Eine dynamische Software-Kategorie erstellen Sie analog zu einer dynamischen Gruppen des ORG-Directories über


New-EmdbSoftwareCategory -Path "Adobe-Software" -Dynamic -Filter "Software.Vendor:IgnoreCase=Adobe"


Auch für Software-Kategorien - statische wie dynamische - verwenden Sie die Methode GetMembers() eines Gruppenobjekts, um die Mitglieder der Gruppe zu ermitteln.


Paketeigenschaften verwalten

Aktionen wie Pakete neu anlegen oder löschen, die Distribution vorbereiten oder die Distribution einrichten erfordern Aktionen im Dateisystem, die von der DSMC direkt durchgeführt werden und daher über SOAP nicht zugänglich sind. Sie können jedoch beispielsweise ein Paket freigeben, wie das folgende Beispiel zeigt:


$MyPackage.ReleaseStatus = "Released"

$MyPackage.Update()


Hinweis: Beim Freigeben eines Pakets über diesen Weg wird nicht - wie beim Durchführen derselben Aktion in der DSMC - automatisch die Distribution des Pakets vorbereitet und definiert.


Natürlich ist es auch möglich - vor dem Freigeben eines Pakets - andere Eigenschaften, wie zum Beispiel die Installationsreihenfolge-ID, die server- oder clientseitigen Voraussetzungen oder das Reboot-Verhalten zu setzen. Prinzipiell lässt sich sagen, dass alle Eigenschaften, die über die Eigenschaften-Tabelle eines Pakets einseh- beziehungsweise einstellbar sind, auch über PowerShell-Scripts ausgelesen oder gesetzt werden können.


Beachten Sie, dass Sie, nachdem Sie Eigenschaftswerte geändert haben, grundsätzlich die Update()-Methode ausführen müssen, um die Änderungen in die Datenbank zurückzuschreiben. Dabei können Sie selbstverständlich zunächst alle Eigenschaftswerte so setzen, wie Sie es benötigen, und dann einmalig die "Speicherung" ausführen.



Software-Pakete erzeugen


Das Erzeugen von Softwarepaketen muß mehrstufig erfolgen, da nicht alle erforderlichen Operationen durch die SOAP-Schnittstelle abgebildet werden. Der Abschnitt Software Pakete erzeugen und löschen gibt einen Überblick über die Möglichkeiten, Software-Pakete zu manipulieren.


Pilotinstallationen durchführen

Da sich eine Pilotinstallation nicht von einer "normalen" Policy unterscheidet, können Sie Pakete auch zuweisen, wenn sie noch nicht freigegeben sind. Das Vorgehen wird im folgenden Kapitel Arbeiten mit Policies besprochen.