PowerShell has been out for a while. When it first came out, I went and grabbed a copy and tinkered with it a bit. But really, I've not gained much expertise on it from that initial tinkering. I was sitting there thinking about that this morning and considering why that was, especially considering that Microsoft had said they want to move in that direction with respect to scripting and with respect to management of systems like Microsoft Exchange and SQL Server. And I think I've figured out why.
I Haven't Found That It Does Something I Haven't Already Gotten With Something Else I'm More Familiar With
Long title, but simple concept. Between old school VBScript script (yeah, I said it) and Perl, there hasn't been anything that I've needed that those two haven't already provided. Truth be told, Perl has stayed the mainstay ever since I learned it. So with a limited amount of time available to re-train, I'm choosing to learn things like SSIS, SSRS, Service Broker, F#, etc. You get the idea.
Have You Seen the Perl Script Libraries Out There?
I mean seriously, it's huge. So snippets of code on doing just about anything already exist. Google / Bing / {Your Favorite Search Provider Here} searches bring those snippets to my fingertips in a matter of seconds. Powershell is building and building fast. But Perl has quite a lead on it. So does, for that matter, VBScript (yeah, I went there again).
Have You Seen the Perl Packages?
I've used Perl to manage everything from Windows to SQL Server to Linux to Cisco firewalls. I can get very, very low-level with Perl with respect to protocols and I've had to do so. In a lot of cases, folks have written packages that handle the inner guys of the communication. A great example was a package that handled connection to Cisco switches and allowed me to dump configs and the like with only a few lines of code. I really don't want to have to rewrite stuff like that. Again, I know PowerShell is the new kid on the block, but given it's relatively narrow focus, I don't see folks branching to do those types of tasks any time soon.
It's Not Installed Everywhere
VBScript used to be. Now it requires a separate install. But if I've got to do an install, and I've got to pick one thing to install, you can guess what I'm going to install (Perl). It does more for me and all the things I have my nose in. I'm glad Windows 7 and Windows Server 2008 have versions of PowerShell installed. But I still live primarily in a Windows XP/Vista/2003 world. And until those OSes start dropping off the map, this remains an issue.
I'm Lazy
There's a lot of truth in this statement. I know that unless Microsoft makes a sudden decision shift, PowerShell is going to be increasingly more important for the management of the SQL Servers I deal with. However, because I can already do everything with what I already have, there's been no pain point to make me want to actively learn PowerShell. So I've shifted it to the backburner so I can do other things. Truth be told, I should be allocating some time each day to play and learn PowerShell. Yeah, it's going on my goals list. I've done a pretty good job of learning tin whistle and right now the value of PowerShell for me is just slightly above that.