ScriptRunner 2018R2 - neue Version Titel

Neues in ScriptRunner 2018R2

Mit ScriptRunner 2018R2 haben wir den in der Version 2018R1 eingeschlagenen Weg konsequent fortgesetzt. Die Queries wurden funktional ausgebaut und die Funktionalität in vielen Details verbessert. Weitere Schwerpunkte haben wir in die Verbesserung der Usability gesetzt. Zusätzlich gibt es weitere Funktionen wie script execution timeouts und eine Bibliothek mit wiederverwendbaren Funktions-Scripten.

Noch mehr Queries in ScriptRunner 2018R2

Das begeisterte Feedback unserer Kunden auf die Query-Funktionen hat uns dazu bewogen, viele der konstruktiven Vorschläge aufzugreifen und sofort umzusetzen, um den gesamten Themenblock Queries „rund zu machen“.

Attribute-Queries für Active Directory-Objekte

Das Set an Einsatzfällen für AD Queries wurde um Attribute-Queries erweitert. Diese Art von Abfragen sind dazu geeignet, einzelne AD-Attribute, wie bspw. Department, Phone, Mail oder Adresse eines Benutzers, automatisch auszulesen. In der Kombination mit einer vorher ausgeführten OU- und User-Query können Sie einen Benutzer aus einer bestimmten OU-Zweig des AD auswählen. Anschließend können Sie weitere Attribute des Benutzerobjektes auslesen. Die Werte können Sie Script-Parametern zuweisen und im Script verwenden bzw. im angezeigten Formular abändern.

Auto-Run für Queries

Neben dem interaktiven Modus zum Starten von Queries können diese nun auch automatisch starten. Das ist insbesondere dann von großem Vorteil, wenn die Anzahl der erwarteten Resultate einer Abfrage weniger als 100 Ergebniseinträge haben wird.

Außerdem profitieren Sie bei kaskadierten Queries vom Auto-Run. So könnte ein Anwender beispielsweise eine AD Gruppe auswählen und anschließend wird die Query zum Auflösen der Gruppenmitglieder automatisch gestartet. Oder es wird ein Benutzer ausgewählt und die kaskadierten Attribute-Queries für das Benutzerobjekt werden automatisch ausgeführt und die Werte im Formular angezeigt.

Die Auto-Run Funktion ist auch für Abfragen per Script einsetzbar.

Credentials in Script-Queries

Abfragen per PowerShell Script sind eine sehr wirksame Möglichkeit um unterschiedlichste Abfragen zu tätigen und damit dem Anwender die Ergebnisliste als dropdown-Menü im automatisch erzeugten Formular zur Verfügung zu stellen. Per Script kann so beispielsweise eine Liste aller aktiven VMs auf einem Virtualisierungshost erzeugt werden. Ein Anwender kann dann die passende VM per dropdown-Menü auswählen und ein Script zum Erhöhen der Anzahl von vCPU starten oder eine ISO anhängen.

Die Ausführung eines Query-Scriptes erfolgt nicht unbedingt auf dem gleichen System wie das eigentliche Arbeits-Script. Im Beispiel oben soll das Query-Script auf einem Hyper-V-Host oder ESX-Host und das Arbeits-Script auf der eigentlichen VM ausgeführt werden. In diesem Zusammenhang ist es möglich, dass der Rechtekontext für beide Scripte unterschiedlich ist. Dafür können nun auch in ScriptRunner Queries für entsprechende Credentials eingesteuert werden. Dazu ist im param-block des Query-Scripts ein Eingangsparameter vom Typ [PSCredential] zu definieren.

Anschließend kann das Credential innerhalb der Query-Konfiguration zugewiesen werden, ohne das Account und Passwort im Query-Script hinterlegt sein müssen. Das Credential wird zur Laufzeit des Query-Scriptes in den PowerShell-Prozess  eingesteuert. Dieses Vorgehen verbessert die Sicherheit im Umgang mit Accountinformationen noch einmal deutlich und entspricht nun dem Vorgehen in Aktionen.

Screenshot ScriptRunner 2018R2: Zuweisen eines Credentials in einem Query-Script

Zuweisen eines Credentials in einem Query-Script

Parameter-Referenzen in Queries mit Scripten

Wurden in Query-Scripten neue Parameter hinzugefügt oder die Reihenfolge verändert, so musste bisher die Abfrage neu angelegt werden. Diese Einschränkung wurde durch eine Parameter-Referenz-Funktion aufgehoben. Änderungen im param-block des Query-Scripts werden nun im Query-Wizard automatisch referenziert, Änderungen werden sofort wirksam.

Editierbare Formulare mit aktuellen Werten aus einem System

Jeder kennt die Herausforderung in Change-Verfahren und Aufgaben, dass man dem Anwender bereits beim Ausfüllen von Formularfeldern gerne anzeigen möchte, welchen Wert das jeweilige Feld im System bereits besitzt. Ein Beispiel wäre das Ändern von typischen Benutzereigenschaften.

Klassische grafische Administrationswerkzeuge verfügen per se über die Möglichkeit die Werte bereits anzuzeigen. Jedoch eigenen sich diese Werkzeuge nicht, um Aufgaben an Service Desk oder Endanwender sicher und ohne administrative Rechte delegieren zu können.

PowerShell in seiner nativen Form verfügt zwar die Möglichkeit über verschiedene Get-Cmdlets Werte ausgeben zu lassen. Die Variante lässt es allerdings nicht zu, die Werte interaktiv abzuändern und anschließend gleich wieder als Eingabewert zu verwenden.

Die ScriptRunner Admin und Delegate App mit den automatisch generierten Eingabeformularen im Web-Browser sind ein grafisches Benutzerinterface für PowerShell. Mit den neuen Funktionen kann nun ein editierbares Formular mit den bereits vorhandenen Werten angezeigt werden – unter Einsatz von Attribute-Query und Auto-Run sowie den Erweiterungen in der generischen Maskenerzeugung. Die angezeigten Werte können geändert oder ergänzt werden. Mit dem Drücken des Run-Buttons werden sie als Eingabewert für das Script verwendet.

Screenshot ScriptRunner 2018R2: Eingabeformular

Eingabeformular mit automatisch abgefragten IST-Werten

Die Funktion der oben dargestellten Maske: Nach der Auswahl der Landesorganisation können Sie in diesem Beispiel einen Anwender suchen und auswählen. Nach dem der Anwender ausgewählt wurde, werden automatische weitere Attribute (hier department, street, email) seines Benutzerobjektes im AD abgefragt und in die Maske eingetragen. Der Anwender kann die Attribute nun abändern oder ergänzen. Will der Anwender dann doch den vorherigen Wert verwenden, so kann er diesen durch Löschen der Eingabedaten im Feld wiederherstellen.

Anschließend startet das Script mit diesen Eingabeparametern und ändert die Werte im AD ab.

Diese Funktionalität steht nicht nur für AD-Queries zur Verfügung, sondern kann auch in Verbindung mit Query-Scripten eingesetzt werden.

Mehr Übersicht in Aktionen

Mit dem zunehmenden Einsatz von ScriptRunner für Use Cases mit PowerShell in einer Umgebung nimmt auch die Anzahl der konfigurierten Aktionen und Script Policies immer weiter zu. In sehr langen Listen kann dabei schnell der Überblick verloren gehen. Gleichzeitig gestaltet sich das Ändern oder Neukonfigurieren von Aktionen nicht mehr so einfach wie bei nur wenigen Einträgen pro Liste. Insbesondere das notwendige Hin- und Herspringen zwischen den Hauptmenüs für Queries, Zielsysteme etc. kann eine effektive und einfache Konfiguration behindern.

Globale Tags für die gefilterte Auswahl

Mit dieser neuen Funktion können nun die bereits bewährten Tags für ein übergreifendes Filtering verwendet werden. Die Tag-Filterleiste wurde deshalb aus dem Listenkopf entfernt. Die Volltextsuche wurde auf Listenebene beibehalten.

Belegen Sie den globalen Tag-Filter mit „Exchange“, so werden alle Elemente der Haupt-Menüs „Actions“, „Queries“, „Targets“, „Scripts“ und „Credentials“ in der Anzeige gefiltert. Der Filter wird nun beim Wechseln in ein anderes Hauptmenu  beibehalten und nicht mehr zurückgesetzt. Die ausgewählten Tags im Filterfeld wirken jetzt als logisches ODER.

Screenshot ScriptRunner 2018R2: Globaler Filter

Globaler Filter für alle Hauptmenüs der Script Policy

Das Ganze erleichtert den Umgang in den verschiedenen Listen mit vielen Einträgen in den Hauptmenüs und stellt den Anwendungskontext der Script Policy Bestandteile für Sie als Administrator besser dar. Es verlangt allerdings den konsequenten Einsatz von Tags an allen diesen Bestandteilen, was Sie aber jederzeit nachziehen können.

Neue Detailsicht für eine Aktion

Um das Hin- und Herspringen bei der Konfiguration und beim Testen von Aktionen zu vermeiden und den Vorgang zu vereinfachen, wurde eine neue Ansicht eingeführt. Dazu befindet sich in der Action Bar eine neue Funktion „Details“. Wenn Sie eine Aktion auswählen und der Detail-Button anwenden, dann wechselt die Ansicht für die Aktion in die neue baumartig aufgebaute Detailansicht. Mit erneutem Betätigen wechselt die Ansicht wieder in die Übersichtsliste.

Screenshot ScriptRunner 2018R2: Detailansicht für eine Aktion

Detailansicht für eine Aktion zur Konfiguration und zum Testen

Die Ansicht zeigt gleichzeitig durch ihren Aufbau die Abhängigkeiten der einzelnen Bestandteile einer Script Policy sowie die Verwendung von deren Elementen wie bspw. von Credentials als Script-Parameter, an einer Zielsystem- oder Query-Konfiguration an. In der Ansicht können einzelne Elemente ausgewählt und dessen zugehöriger Konfigurations-Wizard mit EDIT aufgerufen werden.

Wenn Sie die Aktion selbst ausgewählen, so stehen Ihnen alle notwendigen Funktionen in der Action Bar wie gewohnt zur Verfügung.

Noch mehr Möglichkeiten mit Aktionen

Die Funktionalität mit ScriptRunner Aktionen wurde ebenfalls weiter ausgebaut. So können Sie nun zwei neue PowerShell Optionen verwenden.

Powershell Execution Timeout

Diese Option steuert den Abbruch für länger laufende Scripte bspw. Reportingskripte, falls diese zu drohen, in eine Endlosschleife zu laufen. So definieren Sie eine Vorgabe, nach welcher Dauer die Ausführung des Scriptes abgebrochen werden soll. Als Vorgabe bietet es sich an, die durchschnittliche Ausführungszeit der Aktion den Reports zu entnehmen und +25 bis +50 % aufzuschlagen, um Puffer für unvorhergesehene Lastfälle, welche nicht auf PowerShell zurückzuführen sind, einzuplanen.

Bibliothek für Funktions-Scripte

Wenn Sie viel mit Scripten arbeiten, so stellen Sie nach einiger Zeit fest, dass es Script-Passagen gibt, die man öfter benötigt. PowerShell sieht dafür Funktionen vor. Um Funktionen nun in unterschiedlichen Aktionen und Kontexten nutzen zu können, können derartige Scripte von Ihnen im Repository von ScriptRunner mit dem Tag „_LIB_“ versehen werden.

Anschließend stehen Ihre selbst erstellten Funktions-Scripte (z.B. für Laufwerke verbinden, mit Shares verbinden, u.v.a.m.) in ScriptRunner Aktionen zur Verfügung. Sie können einer Aktion mehrere Funktions-Scripte zuweisen.

Screenshot ScriptRunner 2018R2: Neue Optionen

Neue Optionen: script execution timeout und Funktions-Scripte

Im Arbeits-Script, also im Haupt-Script, der Aktion können Sie nun die Funktionsaufrufe so nutzen, als wäre die Funktion im Arbeits-Script definiert. Beachten Sie, dass Parametern, welche innerhalb der Funktion benutzt werden, zur Laufzeit entsprechende Werte zugewiesen wurden. Handelt es sich dabei um variable Parameter, z.B. der Sharename, so muss dieser entweder im Arbeits-Script fest oder als Eingabeparameter für die Aktion deklariert sein.

Zur Laufzeit werden dann alle Funktions-Scripte und das Arbeits-Script in den PowerShell Ausführungsprozess geladen und stehen so als Gesamtfunktionalität zur Verfügung.

 

Wir beantworten gerne Ihre Fragen!
Haben Sie Fragen zu diesem Beitrag oder zu ScriptRunner? Dann schreiben Sie uns!
Frank Kresse

Frank Kresse

Head of Products Division bei ScriptRunner
Frank Kresse ist verantwortlich für die technische Entwicklung von ScriptRunner. Als Erfinder der Automations- und Delegationslösung für PowerShell berät er Kunden bei Use Case Szenarien und entwickelt Lösungen für die Automation und Digitalisierung ihrer Prozesse. Darüber hinaus engagiert er sich bei Tech-Startups.
Frank Kresse