READI for the Gartner Identity & Access Management Summit

Meet us at Booth 224

BLOG

July 31, 2024

Bot Studio Makes PowerShell Enterprise-Ready

David Bullas

VP of Sales Engineering

Post Image

I’ll be honest – for a long time, I really didn’t like PowerShell.

That’s saying a lot – I now work for Readibots, a company that creates bots out of PowerShell for a living. Bot Studio is the heart of our platform that gives the flexibility to extend current identity solutions or create your own solutions to solve a wide range of business problems. Embracing PowerShell and making it enterprise-ready is their mantra, but until recently I wasn’t a believer.

The PowerShell Evolution – Still not Enterprise Ready

When it first came out, it was very Microsoft-focused. Interacting with non-Microsoft systems was clearly not a priority. It was very limited in the cmdlets it provided and left many of us nonplussed. Fortunately, it was optional. It was built to (sort of) automate tasks that could only be done in the GUI. The GUI still worked and there were other languages available to do scripting, so I kept on doing what I had done before. Everything was fine – so why did I need PowerShell?

Over time PowerShell got better and more cmdlets were released.

  • Version 2.0 added a bunch of new things: remoting, debugging, asynchronous pipelines, try-catch blocks.
    Version 3.0 allowed you to schedule PowerShell tasks.
  • Version 4.0 released where and for commands.
  • Version 5.0 classes were added
  • Version 6.0 added cross-platform support and it became free and open source.
  • Version 7.0 brought back some of the stuff that left when they went open-source

Overall, we saw a trend toward a more powerful, robust language.

Sure, but I still didn’t love it.

Another thing that happened is the mentality of “It’s in the GUI, it should be doable in PowerShell” shifted to “Make it possible in PowerShell”.

Sounds good right? Except — now there were tons of core administrative functions that couldn’t be done any other way. AD, Exchange, O365 management, Entra – tons of tasks that can take you hours to do or can’t be done at all that are a single line or two of PowerShell. So it has moved from “use it if you want” to “you must use it” language for any reasonable-sized enterprise. 

That made me more grumpy not less. PowerShell became necessary AND still definitely wasn’t enterprise ready.

Read-Only Scripting

My DEV friends and I used to laugh about Perl in our early computing days. We loved Perl and we used it a lot, but we called it the first write-only language, meaning that once you wrote it, there was no point in reading it – even scripts you wrote yourself. Most of the time figuring out what it did took more time than just rewriting it. There was even a contest to make the most obfuscated Perl you could.

Can anyone tell me what this beauty does (without googling)?

$s=2;
$d=500;
$w="A";$_='ZIsHPX=$s-Z*Z;$|C;J"sH=\nZ.";O!XNJ"0"x$d,"\n";exit}QZNpush
(F,Z%10PZIZD)}QXNpush(@W,X%10PXIXD)}subT{GMw>MW)OMw!=MWPZ=Mw;QE1NGZV>B)
OZV!=BPZK}1}subY{my(FPZ=0;X=Mw+1;QX>ZNXV+=ZV*S;X[E1]IXVDPXV%C0;E+}MYKO!X
[MY]PF}Q$dKNLF;S=2;@T=Y;@W=(0,0,@WPSC;QSNAOTNF=(KS,FPlast}S++}AZ[0]K;Z=0;S
=MW+1;QZ-SNB+=9-ZV;OB>C0NB-C0;Z[E1]K}E+}Q!U[MW]NMWK};JX[0]}J"\n";
';foreach$s(qw/ L(S,@TPLY; UV =1*.1 Z+ @Y return( qrt($s) =R(
prR -- @w= $# )
{ if( ); Te( int Ul Wl Xi [Z] Yi Zh wh $w
/){s;$w;$s;g;$w++}eval;

Table 1: The 1st Annual Obfuscated Perl Contest Victors

PowerShell can be made more readable, but it’s got similar challenges. Even when you take the time to make it readable, like many of its fellow scripting languages it lacks key enterprise features.

Enterprise PowerShell Challenges

  • No centralized PowerShell repository, scripts are stored everywhere.
  • No centralized credential control or logging either – scripts dump to stdout and they’re littered with plaintext usernames, server names, and passwords.
  • PowerShell scripts are difficult to share.
  • When you schedule PowerShell, you have to remember where they’re scheduled to run and what account they run as.
  • Companies often remove remote PowerShell for security purposes – they’re powerful scripts after all – so remoting is a painful lesson in corporate politics.
  • You’re forever fighting with updating and installing PowerShell modules.
  • Want to tell if a script has failed? What machine did it run on again? Go find the machine it ran on and check for some sort of error. Likely in a file somewhere you redirected stderr to because otherwise you’ve got nothing.

Not to say you can’t build some or all of this actually in PowerShell itself, but this is a serious lack in a tool that is so integral for your enterprise. There has to be a better way.

Introducing Bot Studio – The Solution

Enter the READI Platform by Readibots. Readibots has built an enterprise identity automation solution for building, tracking, delegating, and executing Powershell. PowerShell is wrapped in a bot and each bot is a task or function running on a SaaS platform that executes work. The bots reside centrally in the cloud but execute anywhere you need them to run. Bots have a full RBAC model controlling access to the bots and a credentials repository where you record your credentials in a safe way. You can delegate the bots. You have a central location for logging. Errors are sent automatically where you need them. There’s even a centralized ROI dashboard so you can show your boss how much work ($$$) your identity automation has saved the company.

The READI platform provides an organization with a modern, sophisticated solution for centralizing and managing your existing PowerShell. It can build applications by connecting the bots and the ability to call them from REST. Now we’re not just writing a read-only script to finish a task, we’re building modern applications with interoperability for every modern SaaS platform out there. Readibots has taken PowerShell and made it cleaner, more powerful, and dare I say… safe to use?

The READI Platform:
The Place where PowerShell becomes Loved

Readibots has taken my PowerShell experience from distaste to something far beyond “like”.  In using the platform, I’ve come to appreciate its simplicity and its power, and I think you will too.  

Recommended Reading

The Identity Killer

A Chilling Tale of IGA Project Survival Cue the haunting organ music. Good evening, dear reader. The moon hangs low, casting eerie shadows through the empty corridors of your office. You’re alone in the conference room, the glow of the projector illuminating the ominous timeline of your IGA project. A sudden chill grips your spine. […]

Read More
Readibots Solution Overview

Learn about Readibots solution and products.

Read More
Bot Studio: Web Forms for Delegated Tasks

Discover how to build a simple user interface using Readibots that allows delegated users to input data for your bot to process. Focus is on a common provisioning task: deploying an Azure Virtual Machine (AVM) based on a user’s department. Watch as a user-friendly interface is created for inputting parameters such as username, system, and […]

Read More
Our readibots expert is ready to understand your unique challenges and discuss how the READI Platform can help.
Readibots START A CONVERSATION