Jetzt testen

ScriptRunner Portal Edition R1

Table of Contents

Post Featured Image

Portal Edition R1 ist das erste Release aus der Versionsreihe, welche schwerpunktmäßig den Ausbau des rollenbasierten ScriptRunner Portals und die vollständige Ablösung der bisherigen Web Apps im Fokus hat.

Mit Release 1 werden viele neue Features rund um die Verwaltung und Entwicklung von Scripten eingeführt und erstmalig in der Portal-App „Scripts“ im Browser verfügbar gemacht:

  • Integrierter Script-Editor
  • Anzeigen, Ändern und Speichern von Scripten direkt in der Script Library
  • Kontrollierter Zugriff mit Check-Out und Check-In von Scripten
  • Versionierung von Scripten und Vergleich von Versionen
  • Wiederherstellen von Versionen
  • Import von eigenen Scripten und aus ScriptRunner ActionPacks
  • Entwickeln von neuen Scripten mit Templates

Weitere Features im Release 1 sind:

  • Trennung von Lizenz- und Settings-Portal-App
  • Online-Ordering für zusätzliche Lizenzen in der Lizenz-App
  • Abbrechen einer noch laufenden Aktion in der Run-App
  • Zusätzliche WYSIWYG Einstellungen an Aktionen

Das Release 2 der Portal Edition wird im September erscheinen und Konfigurationselemente sowie die Multi-Backend-Fähigkeiten abdecken. Die alte Enduser Self-Service App und die Helpdesk App entfallen ab dieser Version ersatzlos.

Den Abschluss der Entwicklungen bildet das Release R3 mit den vollständigen Konfigurationsfähigkeiten im Portal.

Einstellungen für die Funktionen Script-App auf dem Server

Für Arbeitsweise und Funktionen der Script-App lassen sich verschiedene Modi einstellen. Die Wahl der Modi hängt vom Arbeits- und Workflowmodell bei der Scriptentwicklung ab. Prinzipiell lassen sich zwei Arbeitsmodelle unterscheiden:

  • Entwickeln von Scripten von wenigen Administratoren direkt auf ScriptRunner. Es handelt sich um ein einstufiges Vorgehen. Jeder Administrator ist für seine entwickelten Scripte allein verantwortlich. Er kann Scripte direkt in ScriptRunner importieren, neu erstellen und ändern. Die Versionierung und Steuerung der Bearbeitung erfolgt in ScriptRunner.
  • Entwickeln von Scripten mittels Code Management System in einem mehrstufigen Entwicklungsprozess, wie Github, Gitlab, Bitbucket u.a. Die Administratoren entwickeln Scripte in verschiedenen Repositories unter Kontrolle des Codemanagement. Die Freigabeprozesse für die Scripte, die Versionierung und die Steuerung der Bearbeitung der Scripte erfolgt dort und nicht auf ScriptRunner Server.

Die Einstellungen können in der Settings-App unter Script Library eingesehen werden.

Screenshot: PowerShell Library Einstellungen in ScriptRunner Portal Edition R1

Einstellungen der Script-App

Die Einstellung des passenden Modus erfolgt auf dem ScriptRunner Server mit dem Befehl

Set-AsrSettings -ScriptEditMode On/Off/ViewOnly/Restricted -restart
Get-help Set-AsrSettings -Full

Die neuen Script-Edit-Modi

ON (default)

Diese Einstellung erlaubt es allen Administratoren, Scripte im ScriptRunner Portal zu importieren, neu zu erstellen, auszuchecken, einzuchecken, zu ändern, zu widerrufen oder auf einen alten Stand zurückzusetzen. Das entspricht den Anforderungen für das Arbeitsmodell mit einem einstufigen Entwicklungsprozess.

OFF

Die Funktionen des Script-Editors sind komplett ausgeschaltet. Der Code der Scripte wird nicht angezeigt. Diese Einstellung im Arbeitsmodell eines mehrstufigen Entwicklungsprozesses sowie ist in Produktionsumgebungen mit höherer Sicherheitsanforderungen bzgl. Der Einsichtnahme in den Script Code sinnvoll.

ViewOnly

Die Funktionen des Script-Editors sind ausgeschaltet, der Code der Scripte kann allerdings eingesehen werden. Diese Einstellung wird für das Arbeitsmodell eines mehrstufigen Entwicklungsprozesses mit einem Code Management System sowie Sync der Repos auf den ScriptRunner Server empfohlen.

Restricted

Die Funktionen des Script-Editors sind auf das Systemverzeichnis _Upload_ auf ScriptRunner Server eingeschränkt. Diese Einstellung empfiehlt sich für das schnelle Script Prototyping. Administratoren können eingeschränkt auf diesen Systemordner alle Funktionen der Portal App für Scripte nutzen. Die anderen Ordner der Script Library bleiben ausgeschlossen und somit vor Veränderungen geschützt.

Der Restricted-Modus ist eine sehr gute Kombination der Vorteile aus beiden Arbeitsmodellen. Schnelles Prototyping und Testen im einstufigen Entwicklungsprozess. Nachfolgend Überführung des Prototyps in den mehrstufigen Arbeitsprozess mittels Code Management System. Die Sync-Ordner der Repos auf ScriptRunner bleiben geschützt vor Veränderungen am Code Management vorbei.

Bei Verwendung der Modi ON/Restricted werden zusätzliche Einstellungen wirksam:

# Einen Kommentar für jeden ScriptRunner-Script-Check-In verlangen
Set-AsrSettings -RequireScriptCheckinComment yes/no -restart
# Jedes Script, das aus ScriptRunner eingecheckt wird, wird geschrieben
Set-AsrSettings -ArchiveScriptCheckIn yes/no -restart

Verwendung von Cmdlets aus PowerShell-Modulen direkt in Aktionen

Neben PowerShell-Scripten können auch Cmdlets aus Standardmodulen oder selbst geschriebenen PowerShell-Modulen direkt in Aktionen verwendet werden. Das Verhalten der Eingabeformulare wird dabei vom exportierten Cmdlet bestimmt. In der Script Library wird jedes Cmdlet in der Liste der Scripte angezeigt und mit dem Tag des Modulnamens versehen.

Ein großer Vorteil in der direkten Verwendung besteht dann, wenn das jeweilige Cmdlet genau die Eingabe- und Funktionsanforderungen der Aktion abbildet. Außerdem kann in ScriptRunner das Cmdlet mit Queries kombiniert werden.

Screenshot: Liste der Cmdlets des ScriptRunnerSettings PowerShell-Moduls in der Script Library

Liste der Cmdlets des ScriptRunnerSettings PowerShell-Moduls

Zum Hinzufügen der direkt zu verwendenden Cmdlets aus Modulen:

# Hinzufügen von Modul-Cmdlets in die ScriptRunner Script Library 
Set-AsrPsModule -Module modulname -restart
# Entfernen von Modul-Cmdlets in die ScriptRunner Script Library
Remove-AsrPsModule -Module modulname OR -All -restart

Die neue Portal App „Scripts“

Alle neuen und alten Funktionen der Script Library sind in der neuen Portal App für Scripte gebündelt. Der Einstieg erfolgt über die entsprechende App-Kachel im Portal und öffnet zuerst die bekannte Liste der Scripte in der Library.

Diese App ist nur für ScriptRunner Anwender in der Rolle „Main Administrator“ und „Administrator“ verfügbar.

Im Suchfeld in der oberen Leiste kann im Volltext nach Scripten und Funktionen gesucht werden. Klicken auf ein oder mehrere Tags filtert die Ansicht entsprechend. Die Buttons zum Erstellen oder Hinzufügen von Scripten, ebenfalls in der oberen Bedienleiste, sind nur im Script-Edit-Modus ON und Restricted verfügbar.

Das Kontextmenü an einem jeden Eintrag der Liste erlaubt die Freigabe des Scripts zur Bearbeitung, die Anzeige aller PowerShell Reports, welche die Ausführungen dieses Scripts erzeugt haben sowie die Änderung der Ownership; nur in der Rolle Main Admin und unter Verwendung von Team Repositories. Siehe hierzu auch den Blogbeitrag zur Version 2020R3.

Detailanzeige und integrierter Script-Editor

Beim Anklicken eines Scripts wird in die Detailanzeige umgeschaltet. Unter „General“ werden sowohl die Metadaten für das Script als auch Daten aus dem Script Header angezeigt. Im Tab „Code“ befindet sich der integrierte Script-Editor. Dieser kann auch im Dark Mode benutzt werden. Der integrierte Editor stellt den Script Code übersichtlich und farblich angepasst dar.

Im Script-Edit-Modus OFF ist dieses Tab abgeschaltet und wird nicht dargestellt, im ViewOnly-Modus sind die Editierfunktionen abgeschaltet, der Script Code kann angesehen werden.

Screenshot: Integrierter Script-Editor in Portal Edition R1

Integrierter Script-Editor im Dark Mode

Unter „Change history“ findet sich eine Liste aller Änderungen. Es können Änderungen zur jeweiligen Vorgängerversion angezeigt und eine ältere Version wiederhergestellt werden. Die Wiederherstellung ist nur in Script-Edit-Modus ON für alle oder Restricted nur für Scripte im Systemordner _Upload_ verfügbar.

Screenshot: Änderungshistorie eines Script in Portal Edition R1

Änderungshistorie eines Scripts

Im Anzeigemodus „Scripte vergleichen“, wird, wie in einer Codeverwaltung üblich, die Vorgängerversion links und die ausgewählte Version des Scripts rechts angezeigt.

Screenshot: Script-Vergleichsansicht in Portal Edition R1

Im Anzeigemodus „Scripte vergleichen“ können zwei Versionen eines Scripts parallel angezeigt werden

Im Tab „Used by“ wird eine Übersicht der Aktionen und Script Queries angezeigt, in denen das ausgewählte Script verwendet wird.

Screenshot: Inhalt des Tabs Used by im Script-Editor von Portal Edition R1

Übersicht der ScriptRunner Aktionen in denen das Script Sum2Values.ps1 eingesetzt wird

Check-Out, Check-In und Revoke

Im Script-Edit-Modus ON stehen die Funktionen zum Ändern für alle von Scripte zur Verfügung, bei Restricted nur für Scripte im Systemordner _Upload_.

Check-out

Das betreffende Script wird zum Bearbeiten auf dem Code-Tab ausgecheckt. Für alle andere Administratoren wird die Script-Bearbeitung gesperrt. In der Liste der Script Library wird angezeigt, wer das Script ausgecheckt hat. Es wird eine Bearbeitungskopie auf dem ScriptRunner Server angelegt. Konfigurierte Aktionen verwenden weiterhin das zuletzt gültige Script aus der Library.

Check-in

Das bearbeitete Script wird nach Fertigstellung eingecheckt. Ein Eingabefenster für zusätzliche Historieninformationen wird angezeigt (die Settings können eine Eingabe erzwingen). Die Bearbeitungssperre wird aufgehoben und eine neue Version des Scriptes wird ab diesem Zeitpunkt für neu gestartete Aktionen verwendet. Die Vorgängerversion des Scripts wird auf dem ScriptRunner Server in der Historie gespeichert.

Revoke

Die Bearbeitung des Scriptes wird verworfen. Der Status des Scriptes wird zurückgesetzt. Alle Änderungen im Script gehen verloren.

Importieren von Scripten

Für den Import von Scripten steht der neue Import-Wizard bereit. Dieser ist nur im Script-Edit-Modus ON oder Restricted verfügbar. Im Modus ON können Scripte in alle für den Administrator berechtigten Ordner importiert werden, bei Restricted nur in den Systemordner _UPLOAD_.

Werden Rollen vom Typ Administrator verwendet und wurden Team Repositories auf ScriptRunner eingerichtet, so können Anwender mit dieser Rolle im Script-Edit-Modus ON nur in Team Repositories speichern, auf welche sie Zugriffsrechte haben. Anwender in der Rolle Main Administrator können im Script-Edit-Modus ON in alle Foldern speichern.

Der Wizard startet beim Klick auf den Button „Import script“. Im Multi-Team-Betrieb wird zuerst die Ownership für das Script festgelegt. Die Auswahl ist von der Rolle des Anwenders abhängig. Die Ownership „Public“ macht das Script für alle Administratoren verfügbar, ansonsten nur eingeschränkt für Mitglieder des ausgewählten Admin Teams.

Screenshot: Auswahl der zu Importierenden Scripte

Auswahl der zu importierenden Scripte

Scripte per Drag-and-drop für den Import ausgewählt werden. Die Auswahl des Script Library Folders weist den Speicherort und automatisch bereits die Standard-Tags für diesen Folder zu.

Im Script-Edit-Modus Restricted entfällt die Ordnerauswahl, da alle Scripte nach _UPLOAD_ importiert werden. Mit den drei direkt auswählbaren System-Tags kann die Verwendungsart für das Script spezifiziert werden.

Zusätzlich können Scripte auch aus den ScriptRunner ActionPacks direkt von Github importiert werden. Diese Funktion steht nur zur Verfügung, wenn eine Internetverbindung besteht.

Screenshot: Detailansicht des Buttons zum Upload von Scripten aus ScriptRunner ActionPacks

Button zum Upload von Scripten aus den ScriptRunner „ActionPack“

Nach Klick auf den Button „ScriptRunner ActionPacks“ erscheint ein Dialogfenster, in dem die gewünschten Scriptdateien ausgewählt und direkt zur Auswahlliste hinzugefügt werden können.

Screenshot: Dialogfenster zum Import von Scriptdateien aus den ScriptRunner ActionPacks auf GitHub

Auswahl der gewünschten Scriptdateien

Im finalen Schritt des Wizards werden alle Scripte jeweils im Script-Editor angezeigt und es können direkt noch Änderungen daran vorgenommen werden.

Screenshot: Ansicht der importierten Scripte im letzten Schritt des Import-Wizards

Im letzten Schritt des Import-Wizards können Änderungen an den Scripten vorgenommen werden

Nach Abschluss des Import-Wizards stehen die importierten Scripte in ScriptRunner wie gewohnt zur Verwendung bereit.

Das Erstellen von Scripten mit Templates

ScriptRunner unterstützt Administratoren beim Entwickeln von Scripten nun auch mit bereitgestellten Templates. Die Template-Sammlung wird fortlaufend verbessert und erweitert.

Für das Erstellen von Scripten steht der neue Create-Wizard bereit. Dieser ist nur im Script-Edit-Modus ON oder Restricted verfügbar. Im Modus ON können neu erstellte Scripte in allen für den Administrator berechtigten Ordner gespeichert werden, bei Restricted nur in den Systemordner _UPLOAD_.

Werden Rollen vom Typ Administrator verwendet und wurden Team Repositories auf ScriptRunner eingerichtet, so können Anwender in dieser Rolle im Script-Edit-Modus ON nur in Team Repositories speichern, auf welche sie Zugriffsrechte haben. Anwender in der Rolle Main Administrator können im Script-Edit-Modus ON in alle Foldern speichern.

Der Create-Wizard startet beim Klick auf den Button „Create new script“. Im Multi-Team-Betrieb wird zuerst die Ownership für das Script festgelegt. Die Auswahl ist von der Rolle des Anwenders abhängig. Die Ownership „Public“ macht das Script für alle Administratoren verfügbar, ansonsten nur eingeschränkt für Mitglieder des ausgewählten Admin Teams.

Screenshot: Festlegen der Script-Details

Definition der Script-Details

Es kann nun ein neues Scripte angelegt werden. Dazu ist der Dateiname für das neue Script festzulegen. Ein Dateiname darf innerhalb des gleichen Ordners nur einmal vorkommen.

Die Auswahl des Script Library Folders weist den Speicherort und automatisch bereits die Standard-Tags für diesen Folder zu. Im Script-Edit-Modus Restricted entfällt die Ordnerauswahl, da alle Scripte in _UPLOAD_ gespeichert werden. Mit den drei direkt auswählbaren System-Tags kann die Verwendungsart für das Script weiter spezifiziert werden.

Screenshot: Auswahl der Script-Template-Optionen

Auswahl eines Script-Templates

Die Verwendung von Templates erfolgt über ein Dropdown-Menü. Dort kann sowohl kein Template (empty) oder eines der angezeigten Templates ausgewählt werden. Diese Funktion steht nur zur Verfügung, wenn eine Internetverbindung besteht.

Im letzten Schritt des Wizards wird das neue Script auf Basis des Templates im Script-Editor angezeigt und kann direkt bearbeitet werden.

Screenshot: Bearbeitung eines Scripts im letzten Schritt des Create-Wizards

Im letzten Schritt des Create-Wizards kann das Script bearbeitet werden

Nach Abschluss des Wizards steht das Script anschließend in ScriptRunner wie gewohnt zur Verwendung bereit.

Neu: Das Notification Center

Das neue Notification Center ist ein Sammler für kurze System- und Fehlermeldungen von Prozessen, welche im Hintergrund mit dem Server interagieren und welche nicht mit der direkten, interaktiven Eingabe am Portal im Zusammenhang stehen.

Die Informationen sind Browsersession-gebunden und flüchtig. Der Zugriff erfolgt über das Icon in der Top-Bar. Nach dem Anzeigen der Notifications wird das Badge, welches neue Notifications signalisiert zurückgesetzt.

Screenshot: Geöffnetes Notification Center mit aktivem Notification Badge in der Top-Bar

Das Notification Center kann per Klick auf das Ablage-Icon in der Top-Bar geöffnet werden

Weitere Verbesserungen

Neu im Setup

Beim Update zeigt sich der Weg bis zum vollständige Übergang in der schrittweisen Umstellung auf „Portal only“ dadurch, dass die Enduser Self-Service Web App und die Delegate Web App nur noch optional installiert werden können und im Setup default „nicht ausgewählt“ sind.

Neu in der Portal-App “Run”

Ein besonders interessantes Feature für Anwender in den beiden Administrator-Rollen ist das einzelne Abbrechen von laufenden Aktionen. Das kann notwendig sein, wenn aus Versehen eine Aktion gestartet wurde oder wen ein PowerShell -Script mit der Verarbeitung nicht zu Ende kommt. Das Abbrechen einer Aktion ist sowohl im Action Runner als auch im Report Fenster möglich.

Screenshot: Abbrechen-Funktion im Action Runner

Cancel Button im Action Runner

Screenshot: Abbrechen-Funktion im Report-Dialog

Cancel Button im Report-Dialog

In der Konfiguration für Helpdesk und Endanwender können nun die Anzeige-Tabs von Aktionen im Portal konfiguriert und angezeigt werden. Die Konfiguration erfolgt über das Kontextmenü für die Aktion auf der Kachel oder am Listenelement.

Der Administrator hat nun die Möglichkeit, Farben, Icons, Tabs und Texte für die Aktion so zu sehen, wie sie Anwender im Helpdesk bzw. Endanwender ebenfalls sehen würden. Ist eine Aktion mit einem oder mehreren Anzeige-Tabs konfiguriert, so erscheint diese nur auf diesen Tabs. Andernfalls werden die Aktions-Tags als Tabs verwendet.

Screenshot: Aktionen in der Listen-Ansicht

Liste der Aktionen

Wird eine Aktion ausgewählt, können die Queries im Formular nun neben dem Klicken auf die Suchlupe auch mittels Enter-Taste ausgelöst werden.

Neu in der Portal-App „Reports“

Neu bei den Reportfiltern ist die Funktion „Clear all filters“, um schneller in den Zustand „alle Reports anzeigen“ wechseln zu können. Außerdem wurden die Tooltips im Anzeigefenster des Reports erweitert.

Der neue Tab „Error messages“ zeigt nun separat aufgetretene Fehler mit Hinweisen an, welche beim Ausführen der Aktion oder Script Query aufgetreten sind. Dieser Tab ist nur für Anwender in den Administratorrollen verfügbar.

Screenshot: Error message-Tab in den Details einer Aktion

Error message-Tab in der Detailansicht einer Aktion

Neu in der Portal-App “Authorize & Delegate”

Bei Verwenden des Multi-Team-Administrator-Modells können alle Elemente in ScriptRunner in der Ownership dem jeweiligen Administratoren-Teams zugewiesen werden. Außerdem kann für jedes Administrator-Team ein separates Script Repository eingerichtet werden.

Dazu muss im root-Folder der ScriptRunner Library auf dem Server zuerst ein Ordner für jedes Team-Repository physisch angelegt werden. Anschließend kann ein Anwender in der Rolle Administrator dem Team den entsprechenden Team Repository Folder zuordnen.

Screenshot: Zuweisung von Team Repositories

Zuweisung von Team Repositories

PowerShell 7

Microsoft hat mit dem Lifecycle-Modell für PowerShell 7 ein Verfahren eingeführt, mit welchem PowerShell 7 als Runtime in Produkten anderer Hersteller mit ausgeliefert wird.

Um dafür eine stabile Basis bereitzustellen, kennzeichnet Microsoft bestimmt Releases mit LTS (Long Term Support). Die Auslieferversion des Scriptrunner PowerShell 7 Host auf ScriptRunner Server wurde auf die neueste LTS 7.0.6 aktualisiert.

Das nächste größere Update von PowerShell 7 mit LTS ist mit der Version 7.2 für Ende 2021 angekündigt. Mehr Informationen finden Sie im Artikel Supportlebenszyklus von PowerShell Core in der Microsoft Dokumentation.

Neu in Queries

In der Admin App kann nun im Edit an einer cached Query im Cache Viewer der gesamten Cache auf erwartete Elemente durchsucht werden. Das ist insbesondere für größere Caches nun eine deutliche Verbesserung, da die bisherige Begrenzung auf die ersten 500 Elemente aufgehoben wurde.

Screenshot: Cache Viewer in der ScriptRunner Admin App

Cache Viewer in der ScriptRunner Admin App

Beispielscripte für die Anwendung mit dem Web Service Connector

Die Beispielscripte zur Verwendung des Web Service Connectors wurden aus der Auslieferversion entfernt. Es wurde ein neues Script entwickelt, welche alle Varianten zur Verwendung der Web API zum Starten von Aktionen durch Drittsysteme konsolidiert.

Das Script befindet sich nun im ActionPack Repository auf GitHub: ScriptRunner Software auf GitHub.

 


 

scriptrunner-portal-edition-R1-403x403Testen Sie jetzt die Portal Edition R1

Entdecken Sie die neuen Funktionen und die Vorteile von Automation und Delegation mit PowerShell!

Jetzt kostenfrei testen

 


 

Weiterführende Links

Über den Autor: