
Wie erstellt man „Dual-use-Code“ für ACMP in PowerShell?
Der Podcast erklärt dies gleich zu Beginn im zweiten Teil. „Dual-use-Code“ bezieht sich auf PowerShell-Code, der sowohl nativ in PowerShell funktioniert als auch in der ACMP-Umgebung, beispielsweise wenn er Werte aus einem Client-Command erhält oder zurückgeben muss.
Das ist besonders wichtig, wenn man PowerShell-Code außerhalb von ACMP entwickelt und testet, um ihn dann innerhalb von ACMP zu verwenden.
Notwendige Anpassungen entfallen dadurch, was die Entwicklung beschleunigt und die Zuverlässigkeit erhöht.
Eine Fülle von Tipps und Tricks zur Powershell
Auch wenn die Datenübergabe zwischen Powershell und dem ACMP Client-Command im Vordergrund steht, kommen Tipps zur Programmierung nicht zu kurz.
Das gilt beispielsweise für den Einsatz des Exception-Handling. Den das ist, im Vergleich zu anderen Programmiersprachen recht eigenwillig umgesetzt.
Eine weitere Ursache für unerwartete Programmfehler kann der Zugriff auf nicht initialisierte Variablen sein. Wie das zu umgehen ist, erfahren Sie in diesem Teil des Podcasts.

XML für die Datenübergabe verwenden
Wenn das PowerShell Skript komplexe Werte ermittelt, die dann zur Weiterverarbeitung an das Client-Command übergeben werden müssen, dann braucht es ein spezielles Format. Das gilt besonders für den Fall, dass Steuer- und Sonderzeichen übergeben werden oder der Umfang der Datenübergabe von Fall zu Fall unterschiedlich sein kann.
Am flexibelsten ist hier das XML Format. Flexibel heißt, wie so oft, aber anspruchsvoll in der Handhabung.
Damit die Datenübergabe auch mit XML klappt, gibt es hier ein vorgefertigte Lösung im Sourcecode, die für die meisten Anwendungszwecke einfach kopiert und leicht angepasst werden muss.

Der Gewinner für die Datenübergabe ist: die INI-Datei
So haben Sie INI-Dateien vermutlich noch nie eingesetzt. Und dennoch: für die Rückgabe von zweidimensionalen Werten hat sie allen anderen Methoden gegenüber unschlagbare Vorteile. Lediglich die Einschränkung, dass bestimmte Steuerzeichen nicht vorkommen dürfen gilt es in den Blick zu nehmen.
Die Erzeugung einer INI Datei unter PowerShell ist denkbar einfach, ebenso wie der Zugriff auf die Werte innerhalb des Client-Commands. Möglich macht das die hervorragende Implementation der INI-Unterstützung bei den Client-Commands.
