Yup, as I write this blog I know that my friends will hate me, the people I respect the most in the PowerShell community will never speak to me again, my family will disown me and the dogs won’t even look up at me. While I feel a knot of shame building in my gut, I’m dumb enough to still write this blog. See if you can at least make it to the end before you remove me from your LinkedIn/Facebook/Twitter/Party invite/Will list.
So, the talk of the town as PowerShell V3 nears release is the new Integrated Scripting Environment (ISE) and the leaps it has made over the old one. For the most part I agree, but as I sit back and listen to how both Microsoft and the PowerShell community are “Marketing” the ISE I begin to wonder “who” was this tool made for? If it was for admins, is everyone missing the best part in the design and usability? Let me approach this as I approach everything as a simple admin working day-to-day with PowerShell.
It’s the economy, stupid
Most admins still think PowerShell is a programming language instead of an interactive command line shell. Once you finally convince them (or teach them) how wonderful a shell can be, they dive in with zeal, amazing effort, and eventually incredible success at using PowerShell as it was intended. Thanks to guys like Don Jones, admins are starting to realize this tool was made for them.
PS> Enter-Shell -Console sucks | Select-Object -property Result |
Result : 30+ year old console
So, the old console that holds your precious PowerShell is a disease that can’t be cut out. Admins hate the old console, not because they are afraid of command line, but because it’s painfully stupid/hard to use. Let’s face it, it’s the 21-century and I didn’t get my flying car, but can I at least have a console that can Cut/Paste like everything else? Developers have had the solution at their finger tips for years – syntax highlighting to reduce typos, popup help as you type (IntelliSence) and error checking as you type – things that keep you from screwing up.
This is where PowerShell V3 ISE finally comes to the rescue. I fantasize that some genius somewhere in the PowerShell team had a thought: “If I can’t fix the console, then F*&$ the console, I’ll make a new one.” Bravo!
Notice in Figure 1 the new console view in the ISE. Of course you will need to finagle around to get this view as no one made this the default. So, turn off the menu toolbar, select a single pane and so on. The ISE is likely to launch with the scripting pane first but you can flip to the console quickly with Ctrl-R.
Figure 1 – The new console
Of course as you type you get wonderful syntax highlighting. Take a look at figure 2 and ask yourself is this is not the best console in the world!
Figure 2 – Syntax highlighting
This is what every console admin dreams of. Thank you PowerShell Team. Now for the stuff that gets me into trouble, here is what I wish for in the world of Jason:
- I wish – this clean full screen console was the default view.
- I wish – the ISE didn’t opened up to the script pane first (more on this later).
- I wish – this was advertised as the replacement to the old console.
- I wish – the icon on the Taskbar for the old crappy console was removed and replace with this.
- I wish – for world peace and six-pack of beer for everyone on the PowerShell team for working so hard.
For the everyday admin using PowerShell the beauty of this design is perhaps the most important feature of V3, unfortunately somewhat buried. Shame, I think the economy of usability could have been enhanced here.
It’s all in a name
I had an idea the other day: pretend for a moment that the console admin was the sole focus of the ISE design. The new console would have all the features discussed above, with a simple and quick scripting editor that you could flick too (ctrl-r) when you needed to write quick automation, maybe even a simple advanced function. Of course, you would want to copy/paste (like a normal human) from the console view to the script pane view (hmmm, I think it does that now).
Then I thought the name of this tool would very important. It’s a console that has some simple scripting capabilities. Almost a 70-30 split. So, wouldn’t a name like Integrated PowerShell Environment (IPE) be cool? It seems inviting to an admin that has stalled learning PowerShell because of the words “Scripting” and “Programming” and “Developing”. In fact, they might even learn to automate without really knowing they had become a scripting toolmaker.
Is the ISE right for toolmaking in complex situations? You tell me.
I have a highly biased opinion about the kind of tool I need when I’m writing a module, a complicated advanced function or a WinApp for Helpdesk. The ISE just doesn’t fit the bill for me in those cases and I choose to use a professional IDE with great debugging, signing, packaging, etc. (most of you know which one).
Because of my bias I won’t take the scripting side of the ISE to task other than to say it’s much better than V2 ISE and the PowerShell team should be proud.
Did I cry wolf or run afoul?
PS> Set-Flame –Intensity High –ComputerName Jason –On
So, are you mad at me? Did I raise any valuable points? Did I manage to show you how you can use the new ISE as the best damn console in the World?
Knowledge is PowerShell,