Mit der Version 2019R3 erhalten unsere Kunden ein zusätzliches Update mit neuen Features und einigen Fixes vor dem nächsten großen Update auf ScriptRunnerVersion 2020.
Laden Sie ScriptRunner Version 2019R3 jetzt auf unserer Support-Seite herunter
Die wichtigsten Neuerungen in Version 2019R3 sind:
ScriptRunner Version 2019 unterstützt die Implementierung auf Windows Server 2019 als recommended Operating System. Es werden dabei folgende Konfigurationen unterstützt:
Das Feature Set kann als Feature-on-demand-Paket von der Microsoft Website heruntergeladen und installiert werden.
Windows Server 2012 wird zukünftig nicht mehr im Support unterstützt. Neuinstallationen und Migrationen sollten auf Windows Server 2019 erfolgen.
ScriptRunner in den Versionen 2016 und 2017 wird ab 01.06.2020 nicht mehr unterstützt. Wir empfehlen ein Update auf die aktuelle Version 2019R3.
ScriptRunner 2019 kann zur Erhöhung der Ausfallsicherheit in einem Windows Active-Passive Cluster installiert werden.
Im Betrieb werden folgende Ressourcen im Sharing verwendet:
Folgende Einstellungen sind an einen Clusterknoten gebunden:
ScriptRunner muss auf beiden Clusterknoten installiert werden. Im Cluster Manager müssen außerdem die Clusterressourcen für die Knotenressourcen sowie die Shared Disk eingerichtet werden.
Die URI für ScriptRunner Web Service und die Web Apps wird durch eine Ressource mit Client Access Point nach außen zur Verfügung gestellt.
Eine ausführliche Anleitung für die Installation im Cluster können Sie beim ScriptRunner Support anfordern.
ScriptRunner bietet detaillierte Berichte über die Ausführung von Actions und damit die Ausführung von PowerShell-Scripten. Die bisherigen Berichte enthielten die folgenden Informationen:
Mit diesen Infomationen kann, die Ausführung der PowerShell-Scripte überwacht und das Auditing sichergestellt werden.
Mit steigender Verbreitung von PowerShell steigen jedoch auch Anforderungen an die Inhalte und die Darstellung von Ergebnisreports. Besonders hervorgehoben seien hier Auswertungen und Übersichten.
PowerShell selbst bietet die Möglichkeit mit der Funktion ConvertTo-Html, Ausgaben als HTML-Dokument auszugeben. Zusätzlich gibt es zwei populäre Module, ReportHTML und PSHTML in der PowerShell-Gallery, um umfangreiche grafische Reports mit PowerShell zu erzeugen.
Mit Version 2019R3 stellt ScriptRunner diese Funktionalität nun in der Breite auch zur Delegation und Automatisierung zur Verfügung.
In unserem Video [English only] gibt Ihnen Heiko Brenn, Produktexperte bei ScriptRunner, einen Überblick über das neue Feature:
Durch die neue Funktion erschließen sich neue Use Cases für die ScriptRunner-Anwender.
Administratoren profitieren von aussagekräftigeren und übersichtlicheren Reports zu Ergebnissen der Script-Ausführung. Insbesondere wiederkehrende Analyse- und Reporting-Scriptläufe zur Ressourcennutzung, Berechtigungen, Konfigurationen etc. sind Beispiele dafür.
Service Desk Anwender profitieren von einer übersichtlichen und ansprechenden Darstellung von Ergebnissen der ausgeführten Actions.
Mit den neuen Möglichkeiten rücken nun auch Fachanwender stärker in den Fokus. So können für diese Gruppe spezifische Analysen und Auswertungen mit PowerShell geschrieben (bspw. zur Auswertung verteilter Daten in O365, Teams, SharePoint, Datenbanken usw.) und grafisch aussagekräftig aufbereitet werden. Die Aufbereitung der Daten erfolgt im Hintergrund und der Fachanwender erhält einen Link zum fertigen Report.
Die PowerShell selbst stellt eine Funktion zum Erzeugen von HTML-Reports zur Verfügung. Die Darstellung des HTML kann mit einem entsprechenden CSS-Stylesheet gesteuert werden, um bspw. Header und Footer, Schriftarten und Farben auf alle Reports anwenden zu können.
Das Erzeugen der entsprechenden Ausgaben erfolgt im PowerShell-Script. Nachfolgender Codeausschnitt zeigt die Funktionsweise zum Erzeugen der Ausgabe und die Zuweisung an ScriptRunner über die Systemvariable $SRXEnv.ResultHTML :
$preContent = " $(Get-Date -Format 'dddd yyyy-MM-dd HH:MM:ss') " $postContent = " by $($SRXEnv.SRXStartedBy) " $SRXEnv.ResultHTML = Get-Process -Name $name | Where-Object -FilterScript { $_.TotalProcessorTime } | Sort-Object -Property VirtualMemorySize64, TotalProcessorTime -Descending | Select-Object -Property Name, Id, @{ Label = 'VirtualMemory'; Expression = { '' + [math]::truncate($_.VirtualMemorySize64 / 1MB) + 'MB' } }, TotalProcessorTime, @{ Label = 'TotalRunningTime'; Expression = {(get-date) - $_.StartTime} }, Productversion, @{ Label = 'Path'; Expression = { if ($_.MainModule -AND (Get-Member -InputObject ($_.MainModule) -Name 'FileName' -MemberType Properties)) { $_.MainModule.FileName } else { "---" } } } | ConvertTo-Html -Title 'Get Process' -As 'Table' -CssUri './sr-table.css' -PreContent $preContent -PostContent $postContent
Das HTML-Dokuments wird in folgendem Verzeichnis gespeichert
C:\ProgramData\ScriptRunner\Service\Local\ResultFiles
Die Flexibilität von ScriptRunner ermöglicht über die Standardfunktion ConvertTo-Html hinaus die Verwendung spezieller HTML-Generator-Module. Zu empfehlen sind dafür unter anderem:
Beide Module stellen einen erweiterten Befehlssatz für die Erzeugung von HTML-Reports zur Verfügung. Dazu gehören Seitenaufbau und Seitendarstellung mit Tabs, unterschiedliche Grafiken, Suchfeld etc.
Die Verwendung von HTML-Reports ist ab ScriptRunner Version 2019R3 möglich. Dazu werden folgende Erweiterungen implementiert:
C:\ProgramData\ScriptRunner\Service\Local\ResultFilessr-table.css<
The HTML reports can be accessed in 5 ways:
Um die Nutzerfreundlichkeit und Anwendungsbreite zu steigern, wurde die Unterstützung von Datentypen und die Eingabevalidierungen von ScriptRunner erweitert.
Die automatisch generierten Eingabefelder in den Web Apps unterstützen nun auch die Eingabe von gesteuerten reguläre Ausdrücken. Die Validierungsinformationen werden dabei aus dem PowerShell-Script erzeugt und müssen im param-Block des Scriptes definiert werden.
param ( [ValidatePattern("^[^@]+@.+$") [string]$RegEx )
In einigen Anwendungsfällen sind längere Texteingaben als Eingabeparameter erforderlich. Dafür kann das neue Multiline-Feature verwendet werden. Die Definition erfolgt im param-Block des Scriptes.
param ( [Parameter(HelpMessage="ASRDisplay(Multiline)") [string]$MultilineText )
In einigen Anwendungsfällen sollen Texteingaben nicht auf dem Bildschirm nicht sichtbar sein, sondern als Punktkette dargestellt werden. Das neue Hidden Text-Feature kann dafür verwendet werden. Die Definition erfolgt im param-Block des Scriptes.
param ( [Parameter(HelpMessage="ASRDisplay(Password)") [string]$HiddenText )
In einigen Anwendungsfällen ist es sinnvoll, den Datentyp SecureString einzusetzen. In der äußerlich sichtbaren Anwendung unterscheidet er sich nicht vom erweiterten Attribut Hidden Text. In der Verwendung innerhalb des Scriptes sind allerdings entsprechende Cmdlets zu verwenden, welche diesen Datentyp unterstützen oder Konvertierungen vorzunehmen.
Param ( [ValidatePattern("^d{6}")] [securestring]$SecurePIN )
Die Wiederverwendbarkeit von Code steht immer wieder im Mittelpunkt von Programmieraufwendungen.
Das trifft auch auf PowerShell-Scripte zu. Aus der Anwendung von PowerShell-Scripten kristallisiert sich praktisch bei jedem unserer Kunden Funktionscode heraus, welcher in vielen Scripten per copy & paste zum Einsatz kommt. Das führt in der Folge zu viel und schlecht wartbarem PowerShell Code.
Um diesem Problem zu begegnen, eignen sich PowerShell functions. Eine PowerShell function kann in jedem Script verwendet werden, sofern der Zugriff auf den Code der function sichergestellt ist.
ScriptRunner unterstützt die Verwendung von PowerShell functions gleich mehrfach:
Die Funktionsweise einer Script Library _LIB_ gleicht dabei einem selbst gescripteten PowerShell-Modul, allerdings ohne dessen Overhead und ohne dessen innewohnende Statik.
Eine Script Library kann eine Vielzahl von Funktionen beinhalten. Wir empfehlen, thematisch nahe functions in jeweils einer gesonderten Library zusammenzustellen. Es ist darauf zu achten, dass innerhalb der jeweiligen function ein Header und ein param-Block existiert. Dadurch sind einzelne PowerShell functions in ScriptRunner direkt in einer Action verwendbar.
Um PowerShell functions in einem Hauptscript zu verwenden, muss in den Action-Einstellungen die entsprechende PowerShell-Option (Abbildung 3) gesetzt werden.
Die Zahl der Einsatzszenarien des Web Service Connectors nehmen bei unseren Kunden beständig zu. Damit einher gehen neue Anforderungen u.a. zur Verwendung von Micro Service als Aufrufer von ScriptRunner Actions.
Zum besseren Verständnis der unterschiedlichen Einsatzszenarien mit ScriptRunner hier eine kurze Übersicht:
Der Aufruf von ScriptRunner über den Connector erfolgt durch ein anderes Backend-System. Quellsysteme können zentrale Monitoringsysteme oder Application Server, wie bspw. Workflowsysteme, sein. Zur Authentifizierung des Aufrufes am ScriptRunner Server und zur Zuordnung der Actions können einzelne Service Accounts oder Gruppen konfiguriert werden.
Hierbei können Client-Anwendungen oder Client-Computer den Web Service in ScriptRunner direkt verwenden. Zur Authentifizierung des Aufrufes am ScriptRunner Server und zur Zuordnung der Actions können ausschließlich Gruppen in der Rolle Self-Service Endanwender verwendet werden. Die referenzierten AD-Gruppen können Benutzerkonten oder Maschinenkonten enthalten.
Aus Gründen der Skalierbarkeit und der Ausfallsicherheit erfreuen sich Micro Services steigender Beliebtheit. Im Zusammenspiel mit ScriptRunner als Automationsplattform für PowerShell ergeben sich neue Möglichkeiten zum Einsatz von Scripten. Deshalb wurde die Möglichkeit geschaffen, Micro Services als aufrufendes Quellsystem für ScriptRunner einzusetzen (siehe Abbildung 6). Dafür ist eine gesonderte Lizenz erforderlich.
Aufrufe von ScriptRunner durch Drittsysteme werden grundsätzlich nur authentifiziert durchgeführt. Die Authentifizierung erfolgt durch Applikationsrollen in ScriptRunner. Die Applikationsrollen selbst sind mit AD-Gruppen oder direkt mit AD-Accounts verknüpft.
Eine Reihe von Systemen, insbesondere Web-Anwendungen, unterstützen nicht alle modernen Authentifikationsverfahren. Obwohl veraltet, wird häufig noch Basic Auth von diesen Anwendungen verwendet. Um Basic Auth am ScriptRunner Web Service Connector verwenden zu können, muss dieser für Basic Auth enabled werden. Das erfolgt mit einem Cmdlet des ScriptRunnerSettings Moduls.
Neben den oben genannten großen Features, wurden auch in anderen Teilbereichen Verbesserungen und Erweiterungen vorgenommen.
Das PowerShell-Module ScriptRunnerSettings wurde um einige Funktionen für die Verwaltung von Lizenzen erweitert.
Enable-AsrLicensedUser -ExactLicensedUserString 'asrmarion.mueller' -ActivationKey XXXX
Die von der Delegate Web App bereits bekannten Anpassungen auf das eigene Corporate CI wurde mit dieser Version auf die Admin Web App ausgeweitet. Die Anpassungen erfolgen analog der Delegate Web App hierfür im Verzeichnis
C:\ProgramFiles\ScriptRunner\WebApps\AdminApp\custom
Nähere Informationen zur Anpassung finden Sie in unseren Handbüchern.
Wir erweitern beständig unsere ActionPacks um neue Beispiel-Scripte. Zusätzlich ergänzen wir diese um neue Sammlungen. Folgende ActionPacks sind mit ScriptRunner Version 2019R3 hinzugekommen: