Last night was pretty miserable weather for the January meeting of the User Group. The main focus of which was the presentation by Jeffrey Snover. I have to say despite the fact it went for over an hour, it didn’t actually feel like it. It had a lot of good content, and I found that afterwards I was left thinking, yet again, that PowerShell is really going to change the face of the Windows administration space,
The general consensus around the community is that Jeffrey is a remarkably down to earth guy, pleasant, and basically just a genuine nice guy. I almost hate to admit it, but just from that short time on hearing his presentation last night that I have to agree. Considering PowerShell’s success both within Microsoft and in the Community/Vendor’s it’s surprising that this is the case. A pleasant surprise all the same.
Anyway, enough of the JS fanboi talk ;), what about PowerShell V2?
I’m hoping to have a closer look at Jeffrey’s slide deck to expand on this in more detail at some point, but I’ll touch on a few of the area’s that I saw last night and appealed to me.
In V1 if you want to create a cmdlet, you need to write them in C# of VB(.Net?). As I’m not a developer/Programmer I never really looked at this idea in any detail. However, the demo Jeffrey gave on this last night reveals that with very little effort you can develop cmdlets written in PowerShell that provide some very nice added value to your scripts.
With V2 I can see that my library of common functions which i dot source in specific scripts, will probably be rewritten as script cmdlets and dot sourced. I’ll try and show some specific examples at a later date.
Now, I’m not convinced I have the right idea here, so bear with me. In V2 there is the ability to create a name space with restricted (read: subset of the PowerShell language available) access to PoSH. Now the Administrator in me immediately thinks delegation of administration. Kind of a custom-MMC idea that would allow me to get 1st or 2nd line support run PowerShell scripts, but only the ones i delegate.
I suspect that this functionality is much more fundemental than this though and perhaps, this is more of hearing what I wanted to hear in this case? ;)
There is a lot of 3rd party work going on in this space, and I believe MS are being careful on what they offer here. From the demo I saw last night though I would happily add the MS editor to my list of tools. It’s been made clear that this will only have basic functionality, and will never compete with offering’s being promoted by partners, but it has a couple of nice features that I personally found attractive:
- multiple runspaces available interactively
- type your code in the top half of the editor and have the execution results displayed in the lower half.
- functionality to highlight part of a script and by pressing F5 just run the highlighted element – whether thats part of a line, a few lines or as much of the script as you want.
- colour highlighting (I don’t know if brace matching is supported or likely to be)
- Intellisense will be added later on.
Where is PowerShell going?
What I found most interesting here is that Jeffrey revealed where the PoSH team want to take PowerShell. In particular there will be a lot of focus on how and where the end user will want to run their scripts. Whereas normally, this would lie within the remit of the host OS, they want to take ownership and provide the mechanisms for this to work in a more integrated way.
Anyone who has administered Windows for a period of time, is aware that the GUI is fine for administering one server, but if you want to make a change to all the servers across your estate? Now, these aren’t new challenges we are suddenly being faced with. I’ve been tackling these for nearly ten years. What I find interesting is that it feels like this is the first time Microsoft are really acknowledging the challenges we face, and are working towards making this a whole lot easier. I don’t think this is something that we are going to see overnight, but it feels like a great start!
The one thing I disagree with Jeffrey on, is his thought that the CTP isn’t for everyone. Personally, I believe that anyone who is running PowerShell (not in live here!) should switch over to the CTP. Why? Well, because V2 replaces V1, and as such all V1 functionality shouldn’t have changed. It seems to me the best way to identify any problems under V1 is to get the widest test base looking at it as possible IMHO.
What are your thought’s on V2 and the MS roadmap?