IT Skills Development: Power up Your Windows PowerShell Skills
When looking at your current mix of IT skills, don’t neglect Windows PowerShell. The command line is where it’s at for sophisticated IT staff.
What do VMS, Cisco, AS/400, Unix and Linux all have in common? Yeah, none of them are Windows.
There’s more to it, though—you manage all these operating systems primarily via the command line. Every single one of them offers some kind of management GUI. You can perform decent router administration via a GUI using Cisco tools, for example. However, every single one of them is best managed from the command line. Why? The command line is more efficient.
Think about it. Using the GUI management console, you invest two minutes creating a new user account in Active Directory (assuming you’re filling in most of the user’s attributes). Need to create 100 users? That’s 200 minutes. Every minute spent is a minute spent—not invested.
Consider how a Unix admin might approach the problem—perhaps by writing a shell script. That may take an hour or two to complete, but that’s an hour or two invested. In Unix, that admin can create users with the press of a button, instead of spending two minutes on every one. Then 60 or so users later, the Unix admin’s investment starts showing a return, while you’re still clicking checkboxes in an Active Directory console.
IT professionals who manage any type of non-Windows OS love their command line—that includes Mac admins. Most IT leaders expect that level of efficiency from their admins. You will not, in other words, get your CCIE certification solely by using a GUI tool. You’re going to need to dive into the command line.
All Hail the Command Line
Now, what does Windows have in common with those other operating systems? It’s finally coming closer to the same situation: the GUI is secondary; the command line is king.
Unless you’ve been living under a rock, you’ve doubtless heard about Windows PowerShell. You’ve also heard of the major investment and commitment Microsoft has made to its command-line system.
Yes, Microsoft is still shipping graphical interface consoles. In more cases, though, those consoles are just firing off Windows PowerShell commands under the hood. If you dive under the hood, you can start automating and performing those tasks more quickly, bypassing the GUI and getting your hands into the real core of administration.
So why hasn’t every single Windows admin taken a Windows PowerShell class or read a Windows PowerShell book? Two reasons: fear and uncertainty.
Uncertainty perhaps because they’re not sure “this Windows PowerShell thing” is going to last. At one time, VBScript was supposed to be the big automation answer. It wasn’t. It was just the best we had.
Trust me when I say that Windows PowerShell is here to stay. Its capability and coverage get better with every passing month. A quick review of my own Twitter feed (@concentrateddon), for example, shows Windows PowerShell capabilities for DNS, Hyper-V, AD, IIS, BITS, AppLocker, and entire server products like Exchange Server, SharePoint, most of the System Center family and so on.
So why the fear? Typically, because the shell is different. Yes, you’ll have to learn some commands, a new syntax and some new patterns for performing tasks. Get over it. The time spent in that learning is invested time. You’ll get it back in greater efficiency.
Another fear is that Windows PowerShell is some kind of programming environment. It’s not. It can be, but it doesn’t have to be. If you’ve ever run Ipconfig or Ping or Nslookup, then you’ve already done what Windows PowerShell really does—works as a command-line shell.
Power to the PowerShell
Let me counter that fear with another: fear for your job. Managers aren’t going to take forever to realize that a Windows PowerShell-savvy admin is more efficient than one still lurking around in the GUI. Before long, familiarity with Windows PowerShell is going to creep into job descriptions.
Top-paying positions will be reserved for command-line jockeys, while those afraid of the keyboard will be relegated to entry-level positions. As I once pointed out in a Microsoft Channel 9 Live panel during Tech•Ed North America 2010, before long you’re going to have two choices: Windows PowerShell or “Would you like fries with that?”
So start learning the shell. Microsoft is releasing a new course that I designed (and wrote much of), 10325A, which covers Windows PowerShell v2. Companies like CBT Nuggets and Sapien Technologies offer video training. Every publisher on the planet sells books on Windows PowerShell. I even teach classes using courseware I designed and wrote for myself. Training shouldn’t be hard to find. Start embracing the command line.
- Windows PowerShell: Sharing Your Scripts - Made Easy
- WTFM: Writing the Fabulous Manual
- Windows PowerShell: Writing Cmdlets in Script