Jetzt testen

ScriptRunner 2020R1 – Mehrsprachigkeit, Webhooks und Target-Auswahl für Admins

Inhaltsverzeichnis

Post Featured Image

Mit dem großen Update auf die Version 2020PS7-Edition wurden viele neue Funktionen sowie die Unterstützung von PowerShell 7 veröffentlicht.  Mit der Version 2020R1 wird die vorangegangene Version durch Verbesserungen und einige neue Features abgerundet.

Update von Version 2018 auf 2020

Seit Version 2020R1 können Anwender, die von einer älteren ScriptRunner Version updaten wollen, direkt auf die neuste Version aktualisieren (bisher musste erst auf Zwischen-Versionen geupdatet werden).

Beim Update selbst ist zu beachten, dass sowohl ScriptRunner Server als auch alle Apps aktualisiert werden. Wird eine externe SQL-Datenbank über den Report/Audit-Connector verwendet, dann muss zusätzlich das Datenbank-Schema mit dem SQL Server Management Studio aktualisiert werden. Die entsprechende Schemadatei befindet sich unter dem Pfad ./programs/scriptrunner/bin/support/.

Eine Anleitung zum genauen Vorgehen, wenn Sie ScriptRunner updaten, finden Sie im Installation & Update Guide.

Mehrsprachigkeit

Lokalisierung von Scripten und Eingabeformularen

Mit dem neuen Feature zur Lokalisierung von Scripten und Eingabeformularen in ScriptRunner, haben wir in Version 2020R1 ein von international agierende Kunden lang ersehntes Feature umgesetzt.

Die Grundidee setzt am Script-Header an. Dort können transparent und vollständig im PowerShell-Standard die Informationen für

  • .DESCRIPTION
  • .NOTE
  • .PARAMETER

in Deutsch und Englisch hinterlegt werden. Eine der beiden Sprachen kann als Standard gesetzt werden:  Die Standardsprache wird von ScriptRunner verwendet, wenn in der ScriptRunner App eine Sprache  gewählt wurde, welche im Script nicht als separate Lokalisierung vorhanden ist. Beispiel:

.PARAMETER InputField
this is the default
[sr-en] this is the english description
[sr-de] das ist die deutsche Beschreibung
Param (
[type] $InputField
)

Die automatisch generierten Eingabeformulare in den ScriptRunner Apps zeigen die Feldbeschreibung sowie die Script-Beschreibung in der ausgewählten Sprache an, sofern es eine entsprechende Lokalisierung im Script-Header gibt. Ansonsten wird die Default-Sprache verwendet.

Lokalisierung von Aktionsnamen

Auch Aktionsnamen können seit Version 2020R1 lokalisiert werden: In der Kachel- und Listenansicht der Web Apps für Servicedesk- und Self-Service Anwender können Aktionsnamen und Beschreibung in Abhängigkeit von der Sprache der App angezeigt werden (siehe Abbildung 1). Dabei werden die gleichen Sprach-‚Tags‘ wie im Script-Header verwendet.

Neue Lokalisierungsoptionen für Aktionen in der ScriptRunner Admin App

Abb. 1: Neue Lokalisierungsoptionen für Aktionen in der ScriptRunner Admin App

ScriptRunner Aktionen: Erweiterte Target-Auswahl

Bereits in Version 2020PS7-Edition wurde eine neue Funktion eingeführt, mit der beim Erstellen einer Aktion eine Vorauswahl für Zielsysteme festgelegt werden kann. Dadurch können Delegate App-Anwender beim Ausführen der Aktion eigenständig ein oder mehrere Zielsysteme auswählen, auf denen die Aktion ausgeführt werden soll (siehe ScriptRunner 2020PS7 – Auswahl des Zielsystems zum Zeitpunkt der Script-Ausführung).

Dieses Feature wurde mit Fokus auf Admin-Anwender noch einmal überarbeitet und erweitert, sodass Anwender der Admin App beim Ausführen einer Aktion nun ebenfalls die Vorauswahl für Zielsysteme verwenden können (Abbildung 2).

Auswahl für Zielsysteme in der ScriptRunner Admin App

Abb. 2: Auswahl für Zielsysteme in der ScriptRunner Admin App

Der Anwender kann jedoch auch weiterhin die Vorauswahl verlassen und in die Admin-Anzeige für Zielsysteme wechseln. Dort kann er auch andere Zielsysteme für die Ausführung wählen (siehe Abbildung 3). Welche Zielsysteme dem Anwender zusätzlich angezeigt werden, hängt von seiner Rolle und Team/Tenant-Zugehörigkeit ab.

Admin-Anzeige für Zielsysteme in der ScriptRunner Admin App

Abb. 3: Admin-Anzeige für Zielsysteme in der ScriptRunner Admin App

Modern Auth mit Exchange Online V2 Module

Microsoft verfolgt seit einiger Zeit die Modernisierung der Authentifizierungsmethoden an den Azure und Microsoft 365 Online Services. Konkret geht es dabei um eine Zertifikats-basierte Anmeldung, an einer bestimmten Service-API (AppID), an einem bestimmten Tenant. Wie sich dies manuell umsetzen lässt, erklärt David Pinkawa von TechSnips im folgenden Video:

Sie können diese Modern Auth Methode mit dem Exchange Online V2 Module nun auch in ScriptRunner nutzen. Dazu müssen folgende Voraussetzungen gegeben sein:

Nun kann ein entsprechendes Target in ScriptRunner eingerichtet werden (Abbildung 4). Hierbei ist zu beachten, in welchem Kontext das Zielsystem auf dem ScriptRunner Server verwendet wird, um den Zugriff auf das Zertifikat sicherzustellen.

Cloud-Verbindung via EXO V2-Modell

Abb. 4: Cloud-Verbindung via EXO V2-Modell

Web Service Connector unterstützt Webhooks

Webhooks sind ein beliebtes und verbreitetes Mittel für die Kommunikation zwischen Servern. Damit wird dem Nachrichtenempfänger mitgeteilt, dass ein bestimmtes Ereignis eingetreten ist.

Das Grundkonzept ist, dass auf dem Quellsystem eine Payload-URL registriert wird, welche bei einem bestimmten Event aufgerufen werden soll. Für die Authentifizierung am Web Service Connector durch den Aufrufer kann NTLM oder Kerberos, notfalls auch Basic Auth verwendet werden.

Der ScriptRunner Web Service Connector unterstützt nun auch den Aufruf und das Starten von ScriptRunner Aktionen über registrierte Webhooks. Zu diesem Zweck wurde am Connector ein zusätzlicher Aufruf ergänzt, dessen Payload-URL sich an einem Webhook registrieren lässt (Abbildung 5).

Aktion-ID und Webhook-URI auf der ersten Seite des Aktionskonfiguration-Wizard

Abb. 5: Aktion-ID und Webhook-URI auf der ersten Seite des Aktionskonfiguration-Wizard

Der Web Service Connector kann vom registrierten Webhook Post Requests im JSON Format empfangen. Die Elemente des JSON-Pakets werden der Aktion als Parameter übergeben.

Die zu registrierende URL wird im folgenden Format angegeben

[https://FQDN]/ScriptRunner/api2/PostWebhook/[ID]

[ID] steht dabei für die ID der Aktion. Diese wird ab Version 2020R1 auf der ersten Seite der Aktion im Wizard angezeigt.

Neue Optionen für Theming

Die Theming-Funktion erlaubte es bereits bisher, eigenen Logos und Hintergrundfarben für die ScriptRunner Web Apps zu definieren.

Um Lesbarkeit zu gewährleisten, können die Hintergrundfarben für Header-Bar und Splashscreen nun auch getrennt festgelegt werden.

Zu diesem Zweck wurden in der customstyle.css Datei (auffindbar unter <…>\programs\scriptrunner\web apps\<apps>\custom\customstyle.css ) die folgenden zwei CSS-Klassen ergänzt:

/* Header-Bar background color */
.sr-appbackg.app-sr-blue.customstyle {
background-color: aqua;
}
/* Splashscreen background color */
.sr-appbackg.app-sr-blue.customsplash {
 background-color: aqua;
}

Self-Contained PowerShell 7 Host

Der Umstieg auf PowerShell 7 innerhalb von ScriptRunner wurde vereinfacht. Nach dem Update bzw. der Installation von Version 2020R1 können nun sofort Aktionen mit PowerShell 7-Scripten konfiguriert und verwendet werden. Eine separate Installation von PowerShell 7 und .NET Core entfällt.

Die neue Version enthält zu diesem Zweck einen Self-Contained PowerShell 7 Host, welcher zur Laufzeit von PowerShell 7-Scripten einen eigenständigen PowerShell 7-Prozess zur Verfügung stellt. Damit können PowerShell 7-Scripte sowohl lokal auf dem ScriptRunner Server als auch remote über PowerShell Remoting mit SSH ausgeführt werden. Die entsprechenden Module der zu verwendenden Cmdlets müssen wie bisher auch am Ort der Scriptausführung installiert sein.

Der Self-Contained Host wird regelmäßig mit SciptRunner Updates und Upgrades erneuert. Da die PowerShell Community und Microsoft bei der Weiterentwicklung der PowerShell Abwärtskompatibilität achten, sind die PowerShell 7-Scripte nicht an eine ältere Version gebunden.

Windows PowerShell-Scripte werden unabhängig vom PowerShell 7 Host weiterhin  in der eigenen Umgebung ausgeführt.

Update ISE Add-on für PowerShell 7

Parallel zum Self-Contained Host wurde auch das ISE Add-On an die neue PowerShell Version angepasst. Auch wenn viele Entwickler bereits mit Visual Studio Code und Git entwickeln, bleibt die PowerShell ISE doch für viele Administratoren immer noch ein schnelles und schlankes UI für PowerShell-Scripting.

Die Installation des ISE Add-On erfolgt auf der Arbeitsumgebung des Administrators. Das Add-On stellt die Verbindung zum ScriptRunner Script Repository als auch zu den installierten PowerShell Versionen her. Windows PowerShell ist in der Regel bereits vorinstalliert. Wird PowerShell 7 auf dem Client im Standardverzeichnis installiert, kann auch in PowerShell 7 gescriptet werden. Die Funktionen Check-out, Check-In, Revert etc. im ScriptRunner Tool Panel lassen sich ebenfalls wie gewohnt nutzen.

Folgende Funktionen sind nun in der ScriptRunner Toolbar (Abbildung 6) verfügbar:

  • Show/Hide ScriptRunner Tool Panel
  • Switch to PowerShell 7 Host
  • Switch to Windows PowerShell Host
  • Reset SRXEnv
  • Upload current script to ScriptRunner Server
Toolbar des ScriptRunner ISE-Add-on

Abb. 6: Toolbar des ScriptRunner ISE-Add-on

Der Switch to PS7 Host-Button wird nur dann aktiv, wenn PowerShell 7  im Standardverzeichnis installiert ist. Sollte die PowerShell 7 in einem anderen Verzeichnis installiert sein, kann der Pfad zur pwsh.exe in der Config-Datei des ISE Add-On geändert werden. Die entsprechende Config-Datei befindet sich unter:

C:\Program Files\WindowsPowerShell\Modules\ISEScriptRunner\BinCom.ScriptRunner.UI.ISEAddOn.dll.config

Das ISE Add-On kann mit dem cmdlet Start-ISEScriptRunner und weiteren Cmdlets eingerichtet und auch wieder deaktiviert werden.

Download Version 2020R1

Zum Download

 Weiterführende Links

Über den Autor: