DSM Pakete importieren

Die Packaging PowerBench erlaubt auch den Import von DSM-Paketen und dabei die Konvertierung in ein PowerShell-Script. Während Sie in früheren Versionen ein DSM-Paket zunächst über DSM exportieren mussten, um es anschließend in die PPB importieren zu können, erlaubt die PPB ab Version 4.0 nun auch den direkten "Online-Import" aus einer erreichbaren DSM-Umgebung. Voraussetzung hierfür ist, dass Sie die DSM-Integration konfiguriert haben. 

Um ein DSM-Paket in der PPB zu importieren gehen Sie daher folgendermaßen vor:

Option 1 - Import eines zuvor exportierten DSM-Pakets:

  • Exportieren Sie das DSM-Paket in der DSM Konsole in ein beliebiges temporäres Verzeichnis.
  • Wenn Sie die PPB gerade geöffnet haben, klicken Sie auf dem Start-Bildschirm auf "Paket-Import".

  • Alternativ wählen Sie den Menüpunkt "Paket-Import" aus dem "Datei"-Menü oder Klicken im "Aufgaben"-Register auf das "Paket-Import" Icon.



  • Es öffnet sich der Paket-Import Assistent, bei dem Sie nun die Option "DSM-Paket importieren" auswählen.



  • Der Assistent für den Import von DSM-Paketen wird gestartet:




    Wählen Sie bei "Paket-Quelle" den Wert "DSM Paket Export-Verzeichnis"und bei "DSM Paketverzeichnis" das Verzeichnis, in das Sie das Paket aus der DSMC heraus exportiert haben. Sie können entweder die "_ExpInfo.xml" oder die "Script.inc" auswählen. Wenn Sie die DSM Integration aktiviert haben, können Sie ein DSM-Paket auch aus der "Live-Umgebung" importieren, ohne dieses vorher in DSM exportieren zu müssen.

    Optional können Sie den Speicherort einer DSM Variablendatei angeben. Diese erzeugen Sie, indem Sie in der Infrastruktur-Ansicht der DSMC den Menüpunkt "Extras > Alle Variablen anzeigen…" auswählen und dann dort über "Exportieren…" die DSM bekannten Variablen samt zugehöriger aktueller Werte in einer CSV Datei speichern. Der Dialog erwartet eine Standard-Exportdatei nach dem Namensschema "_ExpList_AllVariables_*.csv".

  • Auf der nächsten Assistentenseite wird aus der "_ExpInfo.xml" der Name des DSM Pakets ausgelesen und als Paketname für das PPB-Paket vorgeschlagen. Außerdem schlägt der Dialog einen Speicherort für das Paket vor. Falls das Verzeichnis bereits existiert, können Sie durch Ankreuzen der "Überschreiben" Checkbox festlegen, dass Sie den Import trotzdem in dieses Verzeichnis vornehmen möchten. Der vorhandene Inhalt wird dann vor dem Export gelöscht.

  • Auf der folgenden Assistentenseite sehen Sie eine Zusammenfassung der getroffenen Einstellungen. Starten Sie den Import mit "Fertigstellen".

  • Nach dem Import sehen Sie die durchgeführten Aktionen und können mit "Schließen" den Assistenten beenden.


Option 2 - Online-Import aus einer DSM-Umgebung:

Wenn Sie ein Paket direkt aus einer DSM-Umgebung importieren möchten, gehen Sie folgendermaßen vor:

  • Starten Sie den Paket-Import wie oben beschrieben. 
  • Auf der "DSM-Paket importieren"-Seite des Assistenten wählen Sie als Paket-Quelle die Option "DSM Online Paket". 



    Über die "..."-Schaltfläche neben "DSM Paketverzeichnis" können Sie den Paket-Auswahldialog anzeigen, der Ihnen die Global Software Library Ihrer angebundenen DSM-Umgebung anzeigt. Wählen Sie nun aus diesem Dialog das zu importierende Paket aus und bestätigen Sie mit OK.



    Im "DSM Paketverzeichnis"-Feld wird der UNC-Pfad zum ausgewählten Paket eingetragen. Bestätigen Sie Ihre Auswahl mit "Weiter"
  • Die weiteren Schritte entsprechen wieder dem oben beschriebenen Import eines vorab exportierten DSM-Pakets, sodass sie an dieser Stelle nicht wiederholt werden. Schließen Sie den Import wie gewünscht ab.


Das Script wird im Anschluss analysiert und es wird versucht, möglichst viele Kommandos in die entsprechenden PowerShell-Kommandos zu konvertieren. Ein typisches per NetInstall-Spy erstelltes Paket sieht nach dem Import und der Konvertierung beispielsweise so aus:


Wenn Sie ein DSM-Paket importiert haben, werden Ihnen eventuell einige mit "[Note]:" beginnende Kommentare auffallen, die von umgekehrten, nicht unterstützten oder hinzugefügten Argumenten sprechen. Diese Kommentare sind keine Fehler, sondern sollen Sie informieren, dass im ursprünglichen Script Optionen gesetzt waren, die im Rahmen der Konvertierung geändert wurden oder geändert werden mussten und nennen Ihnen auch kurz den Grund für die Änderung. Sie können die Kommentare, per Multi-Select auswählen und löschen, wenn diese für Sie nicht mehr relevant sind.

Die häufigsten Kommentare sind:

Kommentar

Die Option /TS wird nicht unterstützt und wurde in /TW geändert.

Bedeutung

Die Option /TS steht in DSM für die Befehls-Klassifizierung "Per Service auszuführender Befehl (computerbezogen)". Da die PPB nur zwischen Computerteil und Benutzerteil unterscheidet, werden solche Kommandos in die Klassifizierung "Computerbezogener Befehl" geändert.

Schweregrad

Warnung

Aktion

Bitte prüfen Sie, ob der konvertierte Befehl so funktioniert, wie erwartet.


Kommentar

Command '<Name des eScript Befehls>' is undefined.

Bedeutung

Dieses DSM eScript-Kommando kann (noch) nicht in PowerShell übersetzt werden. Bitte beachten Sie den untenstehenden Hinweis.

Schweregrad

Fehler

Aktion

Sie müssen die Aktion, die der ursprüngliche Befehl ausgeführt hat, selbst implementieren.


Kommentar

The following variables are undefined

Bedeutung

Im Script wurden Variablen gefunden, die nicht konvertiert werden konnten.

Schweregrad

Fehler

Aktion

Sie müssen diese Variablen, die eventuell DSM-interne Variablen waren oder ohne Deklaration verwendet wurden, im PowerShell-Script initialisieren, damit das Script funktioniert.


Kommentar

DSM-Konto wird nicht unterstützt - stattdessen wird das LocalSystem-Konto angenommen.

Bedeutung

Bei der Konvertierung des RunAs / RunAsEx-Befehls wurde die im DSM-Paket verwendete Option "DSM-Konto verwenden" automatisch in "LocalSystem" umgewandelt.

Schweregrad

Hinweis

Aktion

Testen Sie das konvertierte Paket und stellen Sie sicher, dass die Ausführung auch unter diesem Konto funktioniert.


Hinweis: Wenn ein eScript-Befehl nicht übersetzt werden kann, weil das entsprechende PackageDeployment-Pendant noch nicht implementiert ist, so kommt der Hinweis "[Note]: Command '<betreffendes Kommando>' is undefined.". Sie müssen dann versuchen, die Logik des Scripts zu ändern oder das fehlende Kommando mit PowerShell-Bordmitteln abzubilden. Nehmen Sie bitte auf jeden Fall auch Kontakt mit uns auf (siehe Kontakt), damit wir Sie unterstützen können.