Don’t like PowerShell? Get Over It And Get On With It

Over the last few weeks I’ve been in a number of conversations with IT professionals from conferences such as the PowerShell Summit, to engaging in lively reader debates, like what you see in the comments section of my Petri colleague Russell Smith’s post that asks whether we need GUI management tools in Windows Server.

These discussions have been illuminating, so let me cut right to the chase: PowerShell is something you need to learn and requiring a GUI to manage servers is an obsolete concept. If you are on the opposite side of this all I can say is get over it and move on. Because if you don’t you will find yourself in a dead-end job, assuming you still even have one.

Don’t like PowerShell? May Want to Update Your Resume

PowerShell has been out for almost 10 years. Sure, the first few versions didn’t have everything you might need but we are on the verge of version 5.0. There is no reason you should not be learning and using PowerShell. And if you say this is because your company doesn’t use it, that’s irrelevant. But that is a topic for a separate article. That said, you have to learn the PowerShell paradigm and not just a few commands. It has been my experience that most people who dislike, or even hate (really?) PowerShell are because they are trying to force PowerShell to be something it is not. Or they bring a set of pre-conceptions, often misconceptions, and then complain when PowerShell doesn’t meet their expectations. Sure, you might wish a cmdlet had an additional parameter but that is why there is Microsoft Connect so that you can make suggestions and get your peers and colleagues to vote on your suggestion. The IT Pros that I talk to who “get it” are thrilled with PowerShell. I’ve had several people come and tell me in person who learning PowerShell has literally changed their life and career. I also often hear IT Pros state they wish they had started learning and using PowerShell sooner.

Often the same IT Pros who dread the idea of learning PowerShell are the same who lament the loss of the GUI. If you are still using a remote desktop session to manage a server at a time, you are stuck in the 1990’s and are on the verge of obsolescence. “But it is called Windows!” I hear people say. Perhaps that is technically true, but if you haven’t been paying attention the last several years, this is not the same Microsoft. It is changing and you have to change to. The introduction of Server Core several years ago should have been your wake up call. Savvy IT Pros recognized the advantages and began planning accordingly not only in how they deploy their server infrastructure but also how they manage it. With the advent of Nano server, the shift will be complete. You will have no choice but to change your management strategy and techniques.

Seriously: You Don’t Need a GUI to Manage a Server

That said, let me clarify a distinction. You do not need a GUI on the server in order to manage it. You actually haven’t for a number of years. Microsoft has long given you the GUI-based tools to manage your servers from your desktop. Again, if RDP is your management tool of choice, stop it. Now.
In fact you probably don’t even really need GUI-based tools on your desktop. But nobody is going to take them away. What is important for you to consider is that GUIs can only do what they are designed to do and often don’t scale well. This is where PowerShell comes back into the picture. I’ve lately started pushing the idea of management at scale. IT Pros need to stop thinking of managing servers in a one-off fashion and begin thinking of doing it at scale. It is just as easy to check the status of critical services on 100 servers as it is on 1. PowerShell makes this very easy. And if you want a GUI, then you can create one to sit on top of PowerShell. This has long been the Microsoft model.

I’m hoping this is the last time I have to write something like this. Managing a server infrastructure with PowerShell is the future of your career. And of course it might feel hard. You are learning a new language and that is never easy. But fluency comes with practice and repetition which is why I’m constantly reminding IT Pros to use PowerShell every day in some way. This doesn’t mean you have to write scripts and modules, although those people who achieve this level of mastery with PowerShell will go further in their careers. It is up to you to decide if IT is going to be your career and if it is, then you need to be bold, get over your preconceptions or misgivings and get on with it!
Do you think I’m still totally out of line? Have you taken control of your career and if so what has been your experience? I hope you’ll share your thoughts in the comments.