ScriptRunner: Bringing PowerShell to DevOps

choubertsprojects

The Best WordPress plugins!

1. WP Reset

2. WP 301 Redirects

3. WP Force SSL

ScriptRunner is a commercial product that can automate and improve your Continuous Integration (CI), Continuous Deployment (CD) and Release Automation processes. It allows you to run PowerShell scripts in the same way as any other job, with variable input parameters provided by Gitlab CI/CD services or Jenkins.

ScriptRunner: Bringing PowerShell to DevOps

I felt left out of the DevOps world as a Windows administrator with PowerShell experience. Despite the fact that Microsoft’s DevOps tooling has recently matured, the majority of DevOps tools are still Linux-based and require learning a new language to master. With the discovery of ScriptRunner and PowerShell, we PowerShell nerds can now join the ranks of DevOps masters!

ScriptRunner’s major goal is to deliver a full solution using PowerShell at its core that covers development, deployment delegation, and automation all in one package. This paradigm is well-suited to today’s DevOps settings. The ability to create, manage, and delegate PowerShell scripts frees up a significant amount of time that might otherwise be spent on more essential initiatives. Admins can now build and deploy scripts with confidence, even if they just have a basic understanding of PowerShell!

How to Get the Software

Unfortunately, obtaining a copy of the program is at best cumbersome. Instead of downloading the program from the firm’s website, customers must book a demo by supplying their company name, email address, and phone number. This might be an issue for people who dislike handing up their email addresses.

However, after the demo, follow-up emails were prompt and helpful. ScriptRunner went out of their way to make sure I knew all of the product’s features and possibilities.

Installing & Configuration

The PowerShell utility from ScriptRunner is simple to install, but you’ll have to deal with three separate executables.

  • The backend of the program is handled by the RunnerService, which is ScriptRunner’s brain.
  • The client applications for the Delegation App and the Admin App are installed by TeamApps.
  • The web-based versions of the Delegation App and Admin App are installed via WebApps.

One thing I wanted to point out is that when you install the WebApps service, you have the option of automatically deploying web apps to Windows Internet Information Services (IIS), Apache, Nginx, and other web servers, but those that aren’t IIS need explicit setup.

There are a few optional post-installation procedures, such as setting up your repository directories, synchronizing with Git, and configuring IIS to host the web apps.

Packs of Action

Once you’ve got ScriptRunner set up and running, you’ll also notice a few built-in scripts, called Packs of Action. ScriptRunner provides Packs of Action for services like Active Directory, Azure AD and Office 365 as well. The Packs of Action are great for beginners to use scripts immediately with little optimization.

Documentation

The documentation is extensive and comprehensive. Not only is context-sensitive assistance provided inside the program, but extra PDFs with more thorough information and sample use cases are also available. Phone, email, and blog support are all accessible. The paperwork is outstanding.

The User’s Interface

The magic occurs in the administrative application. The dashboard is minimalistic and tidy. The activities on the left menu are logically organized on the “tiled” style, with categories and script count across the top. The dashboard also displays the status of finished scripts, as well as the length of time each script took to execute and whether or not it succeeded. This user interface is well-designed.

The primary dashboard for the administration application, on the other hand, is a squandered opportunity in my view. Allowing the ability to modify this huge area as wanted will help it be utilized more successfully. A handful of KPI indicators, work tracking, or a list of connections to frequently used sites, for example, would be useful.

Dashboard for ScriptRunnerDashboard for ScriptRunner

The App for Delegates

Another nice feature of ScriptRunner is The App for Delegates. This app allows you to convert PowerShell scripts into a point-and-click GUI and assign them to end users. Pretty cool! Users can log in through the console or the web-based application and execute complex scripts. Non-IT users can run PowerShell scripts with little or no knowledge of PowerShell programming which is awesome for those, for some reason, refusing to learn more about PowerShell!

The Delegation App features handy role-based access control, enabling only particular individuals or groups to view the scripts that have been given to them. Simply having this functionality will save you hours of daily administrative time!

Using ScriptRunner to delegate scriptsUsing ScriptRunner to delegate scripts

DevOps is ready to go.

From the first day, ScriptRunner is productive. I have a vast collection of scripts and tools that I use on a regular basis as an experienced administrator. The organizing of scripts was practically automated using ScriptRunner; copy the scripts into the DEV repository folder, navigate through the instructions to add the proper tags and assign security, and you’re done. The scripts are now ready for deployment and usage by the IT department.

If you use a source code versioning platform like Git or Azure DevOps, you may synchronize repositories with ScriptRunner by role (DEV, PROD), or by tags like AD, Exchange, O365, and VMware. If you have a lot of scripts and want to make them accessible to users right once, this is a tremendous time saving.

The PowerShell Integrated Scripting Environment (ISE) add-in is another useful feature. This add-in adds a side panel to your browser that enables you to check in and out scripts. Additionally, comments may be made and preserved, making it easy to trace script modifications over time. If you just have a few scripts or don’t want to use a source code repository like Git, this is a good option.

Integration of ScriptRunner in PowerShell ISEIntegration of ScriptRunner in PowerShell ISE

Creating Windows

The near-automatic generation of GUI interfaces is by far the most powerful and valuable feature. ScriptRunner builds the appropriate fields and selection boxes by reading the PowerShell parameters from a script and other keywords. To create its windows inputs and dialogs, the software parses headers, parameter values, and variables. Scripts may be improved to take maximum use of this functionality by adding comments, parameter fields, and other information using PowerShell best practices.

One slight drawback of this feature is that the scripts may run a bit slower versus running them in a command line console. This may be attributed to the extra overhead required for ScriptRunner to create and manage The User’s Interfaces. This performance hit might be regained by optimizing and streamlining the scripts where ever possible.

In ScriptRunner, you may set parameters.In ScriptRunner, you may set parameters.

Insightful Questions

The queries allow for dynamic parameter input through preselection. The user no longer has to know the script’s parameter value, such as a user’s SamAccountName or the name of a virtual machine, and may input it manually; instead, the user can choose the user from a list. Queries may be directed to a variety of sources, including:

  • Objects in Active Directory, including trustworthy and untrusted domains
  • Query scripts that provide complete script flexibility
  • Static or dynamically changing files
  • Lists that are static

Connectors for Automation

In a second step after the introduction, it is worth to take a look at the Connectors for Automation. ScriptRunner offers connectors to integrate various third-party systems to map fully automated control loops. The systems integrated with ScriptRunner can trigger an action process-driven, event-based or interactively. Examples therefore are automated calls of monitoring-systems, ITSM-systems, workflow-systems or other applications via WebService Call.

ScriptRunner supports central password safes such as CyberArc, Thycotic Secret Server, Pleasant Password Server, and others to provide an even greater degree of protection for credentials.

The data may be saved in parallel in an external SQL database through SQL-Connector for long-term storage of the reports.

Conclusion

ScriptRunner is a wizard when it comes to classifying, organizing, and delegating scripts. If you have a small staff and several hundred scripts that are utilized on a regular basis, this alone would be worth the price.

  • ScriptRunner is licensed per administrator or Servicedesk user and begins at about 38.00 dollars per user per month on the lowest scale (10-25 users).
  • The lowest size (up to 100 users) for Self Service end customers begins at $2.70 per user per month.
  • ScriptRunner provides a one-year license for 5 users for SMB businesses (1,950.00 USD per year). You may simply upgrade to the suite if you require more users or connectivity.

There are certainly less priced alternatives; but, to have the same capability as ScriptRunner, numerous programs would be required. ScriptRunner is substantially less expensive than huge automation solutions.

For PowerShell scripters, ScriptRunner is a true DevOps tool. If you want to effortlessly and securely automate your administration and support activities, you’ll find a strong and professional solution here.

Table of Content