PowerShell is the language of 2017
PowerShell has been around since November 2006 when it was first released for Windows XP SP2, Windows Server 2003 SP1. Since then PowerShell has expanded by leaps and bounds in functionality and its ability to expand. PowerShell is the language of 2017 for System Administrators because of this expanded functionality. Below I will explain why during 2017 we will see PowerShell become a necessity for all System Administrators. It can no longer be just a “nice to have” but a core knowledge.
Now I know many of your are saying “PowerShell isn’t a language” and yes I am aware it is not what you would typically consider a language. However it is a Scripting Language and depending on your up bringing in IT is whether you consider Scripting Languages real languages. Well I will
tell you that I 100% consider Scripting Languages true languages. I have written PowerShell scripts that take full use of .NET and have the same if not more functionality than some C# programs.
Security is King
There have been many trends in IT that come and go over the years. One that has continually stuck out over the years has been security. Security is a very visible and very important part of IT. Most larger companies have dedicated teams of security experts that help mitigate vulnerabilities, configure security equipment and stay up to date on the latest vulnerabilities. But one thing stays pretty constant with security: stay patched! All System Administrators know the double edge sword that is patching. We have to do it but typically we see it break more functionality than we see it help.
So what is our alternative here, how can we minimize our patching yet remain secure? The answer has actually been around since Windows Server 2008 and that is Server Core. Server Core is a fully functional Windows Server that does not have a graphical interface. Everyone has probably heard of Server Core and most have shied away from it because it has no graphical interface. Which means you can’t just log onto the server and “poke” around, you actually have to know what you are looking for. But Majority of Microsoft Security patches relate to the graphical components of the Windows OS. So be implementing Windows Server Core wherever possible reduces your attack surface and reduces the number of patches that have to be installed every month!
Now lets get back to the point of this article by implementing Server Core how do you manage it? I mean when you log onto a Windows Server with Server Core all you have is a Command prompt. Queue cheesy intro music for PowerShell. PowerShell allows us to perform pretty much all of the functions we would do through the graphical interface but through a command line.
Dev Ops and Rapid Software Releases
More and more software companies are adopting a policy of rapidly building, testing and releasing software. Microsoft is one of the biggest players doing it right now. They release like clockwork as fast as they can so if a bad update is released who cares it will be fixed in a week or two. With this new fast pace development model System Administrators need to keep up. If your environment is based largely on Microsoft software and Operating Systems you can automate everything with PowerShell. I am not trying to exaggerate when I say everything because all current Microsoft Software like Exchange, Hyper-V, and Skype for Business can be totally controlled via PowerShell. PowerShell has built in CMDLets that can interact with Rest APIs allowing you to automate software that does not have its own built in automation.
Now if you really want to get deep into PowerShell we can even tie into other APIs that were written in .NET. For example we can actually use the Exchange EWS API within PowerShell. I have used this on numerous occasions to automate certain tasks in Exchange, like check mailboxes for certain emails, or even see who booked a resource and email them a survey. System Administrators are truly are limited by their imagination.
With the ever increasing focus on security and the new rapid develop and deploy strategy being used System Administrators have to keep up. PowerShell is that invaluable tool for System Administrators to not only keep up but be able to automate in places that were never possible before. Knowing how to use PowerShell and build your own script and automation with PowerShell is no longer a luxury but a necessity. This is why PowerShell is the language of 2017!