© best_vector/Shutterstock.com
Windows Developer
PowerShell im Einsatz mit modernen Webanwendungen

Weltenbummler - JSON und PowerShell

Eigentlich sind die Zielsetzungen und Werkzeuge von Administratoren und Entwicklern sauber getrennt. Doch die Windows PowerShell (WPS) kann als administrative Skriptsprache und Konsoleninterpreter auch im Umfeld von Webanwendungen eine gute Figur machen. Testen von Rückgabewerten, Generieren von administrativ relevantem Content und Weiterverarbeitung vom Server-Response sind denkbare Anwendungsfälle.

Thomas Wiefel


Moderne Webapplikationen lagern oft einen Teil der Verarbeitungslast auf den Client aus. Die dort ablaufenden Skriptsprachen – im Wesentlichen JavaScript – erwarten nur strukturierte Daten vom Server. Je weniger Overhead – umso besser. Da der „Datendump“ im Vordergrund steht, hat sich JavaScript Object Notation (JSON) als De-facto-Standard auf der Transportebene durchgesetzt. Nach der Spezifikation handelt es sich bei JSON um ein assoziatives Array (Hash) mit optionaler Mehrdimensionalität (Listing 1).

Listing 1[ { "MachineName": "AT", "Index": 14725, "Message": "OAB Download Succeeded." }, { "MachineName": "AT", "Index": 14724, "Message": "Starting OAB download. (See event data)." }, { "MachineName": "AT", "Index": 14723, "Message": "The Software Protection service has stopped.\r\n" }]

Obwohl im Vergleich zu XML z. B. klar definierte Knotentypen und eine Lokalisierungssprache wie XPATH fehlen, wird JSON auf dem Webserver bevorzugt.

WPS und JSON – oberflächlich betrachtet

Die Windows PowerShell bot schon in früheren Versionen Befehle zum Im- und Export von XML-Dateien und -Strukturen. Doch erst in der aktuellen Version 3 wird JSON explizit berücksichtigt (Die Möglichkeiten über Zeichenkettenoperation JSON zu verarbeiten, vernachlässigen wir an dieser Stelle). Da die PowerShell primär als administratives Werkzeug designt ist, haben wir eine besondere Struktur vorliegen: Befehle wie Cmdlets (verb-noun) oder Aliase (Verweise) sind vereinfachte Aufsätze auf das Typsystem von .NET und WMI. Sie haben also bei der Arbeit mit der WPS immer die Wahl zwischen der oberflächlichen Arbeit mit Befehlen und Parametern oder direktem Klassenzugriff. Die Befehle sind schematisch als Aktionsziele angelegt, wie „get-service“, „stop-Computer“ etc. Mithilfe der Anweisung

get-Command –noun json lassen sich so leicht alle Befehle zur Verarbeitung dieses Formats anzeigen. get-help JSON-Befehl –online liefert Ihnen alle Informationen bezüglich verfügbarer Parameter.

BefehlFunktionParameterVerarbeitungConvertto-JSONErstellen einer JSON-Struktur auf Basis eines Eingangsobjekts-depthDefiniert die Strukturtiefe der abgebildeten Objekte; Standardwert ist 2-CompressSteuert Normalisierung von Leerzeichen, Zeilen­umbrüchen, TabsConvertFrom-JSONErstellt ein PSCustomObject; die Schnittstellen werden aus den JSON-Wertpaaren ermittelt-InputObjectEin Feld kann dadurch statt über die Pipeline „nachträglich“ zur Verarbeitung gebunden werden

Tabell...

Windows Developer
PowerShell im Einsatz mit modernen Webanwendungen

Weltenbummler - JSON und PowerShell

Eigentlich sind die Zielsetzungen und Werkzeuge von Administratoren und Entwicklern sauber getrennt. Doch die Windows PowerShell (WPS) kann als administrative Skriptsprache und Konsoleninterpreter auch im Umfeld von Webanwendungen eine gute Figur machen. Testen von Rückgabewerten, Generieren von administrativ relevantem Content und Weiterverarbeitung vom Server-Response sind denkbare Anwendungsfälle.

Thomas Wiefel


Moderne Webapplikationen lagern oft einen Teil der Verarbeitungslast auf den Client aus. Die dort ablaufenden Skriptsprachen – im Wesentlichen JavaScript – erwarten nur strukturierte Daten vom Server. Je weniger Overhead – umso besser. Da der „Datendump“ im Vordergrund steht, hat sich JavaScript Object Notation (JSON) als De-facto-Standard auf der Transportebene durchgesetzt. Nach der Spezifikation handelt es sich bei JSON um ein assoziatives Array (Hash) mit optionaler Mehrdimensionalität (Listing 1).

Listing 1[ { "MachineName": "AT", "Index": 14725, "Message": "OAB Download Succeeded." }, { "MachineName": "AT", "Index": 14724, "Message": "Starting OAB download. (See event data)." }, { "MachineName": "AT", "Index": 14723, "Message": "The Software Protection service has stopped.\r\n" }]

Obwohl im Vergleich zu XML z. B. klar definierte Knotentypen und eine Lokalisierungssprache wie XPATH fehlen, wird JSON auf dem Webserver bevorzugt.

WPS und JSON – oberflächlich betrachtet

Die Windows PowerShell bot schon in früheren Versionen Befehle zum Im- und Export von XML-Dateien und -Strukturen. Doch erst in der aktuellen Version 3 wird JSON explizit berücksichtigt (Die Möglichkeiten über Zeichenkettenoperation JSON zu verarbeiten, vernachlässigen wir an dieser Stelle). Da die PowerShell primär als administratives Werkzeug designt ist, haben wir eine besondere Struktur vorliegen: Befehle wie Cmdlets (verb-noun) oder Aliase (Verweise) sind vereinfachte Aufsätze auf das Typsystem von .NET und WMI. Sie haben also bei der Arbeit mit der WPS immer die Wahl zwischen der oberflächlichen Arbeit mit Befehlen und Parametern oder direktem Klassenzugriff. Die Befehle sind schematisch als Aktionsziele angelegt, wie „get-service“, „stop-Computer“ etc. Mithilfe der Anweisung

get-Command –noun json lassen sich so leicht alle Befehle zur Verarbeitung dieses Formats anzeigen. get-help JSON-Befehl –online liefert Ihnen alle Informationen bezüglich verfügbarer Parameter.

BefehlFunktionParameterVerarbeitungConvertto-JSONErstellen einer JSON-Struktur auf Basis eines Eingangsobjekts-depthDefiniert die Strukturtiefe der abgebildeten Objekte; Standardwert ist 2-CompressSteuert Normalisierung von Leerzeichen, Zeilen­umbrüchen, TabsConvertFrom-JSONErstellt ein PSCustomObject; die Schnittstellen werden aus den JSON-Wertpaaren ermittelt-InputObjectEin Feld kann dadurch statt über die Pipeline „nachträglich“ zur Verarbeitung gebunden werden

Tabell...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang