By Thomas Lee – Powershell MVP.
PowerShell is Microsoft’s task automation platform for IT Professionals. The product first surfaced from Microsoft in a seminal white paper by Jeffrey Snover: The Monad Manifesto. You can find this paper online here. It is a bit dated and with syntax that is now much different but it was written in 2002! The paper clearly explained the management challenges that customers faced trying to deploy what was then Windows NT 4 and Windows 2000 based computing systems.
The early versions of PowerShell were a great step forward, with each release adding significant functionality to the product. The latest version of PowerShell is shipping as a core component of Windows 8.1 and Server 2012 R2, complete with a raft of new features, the key one being the new Desired State Configuration tool.
So why is it time to learn PowerShell? Anyone reading my columns and blogs will know I’ve been advocating PowerShell as THE next great thing. Yet there remains a large number of IT pros and Microsoft customers in general, who remain unconverted. With the huge increase in coverage provided by Windows Server 2012 and Server 2012 R2, PowerShell is no longer a minority sport.
To illustrate this, look at one key Windows Feature, the DHCP Server. DHCP is something most of us take for granted – it just works. And for us road warriors, DHCP is often a challenge to overcome – the curse of 169.254 addresses if you will.
Implementing DHCP in your organization can be simple. For smaller organizations – you just add a DHCP server, configure a scope and way you go. But for large organisations, you have additional options. You can add additional servers and implement both load balancing (for busy networks) as well as failover to increase fault tolerance. And of course, with a service as fundamental as DHCP, you need to develop techniques to avoid configuration drift.
You can manage every aspect of DHCP using PowerShell in Windows Server 2012 and Serer 2012 R2. In a lot of cases, the PowerShell code you need to write is pretty trivial. But you have to know both PowerShell itself and the DHCP Server module to effectively manage DHCP using PowerShell.
I hear a lot of IT Pros saying that it’s all to complex, there’s too much to type and besides we have the GUI. There’s no doubt that the GUI is useful, but increasingly, product such as Lync, Exchange and SharePoint are producing GUI management tools that simply do not provide 100% coverage. To really administer Lync, for example, in a big enterprise environment, PowerShell is not an option, it’s a necessity.
So how can you learn PowerShell? There are numerous ways. Microsoft Learning Solutions partners run a series of PowerShell course including Automating Administration with Windows PowerShell, which I think is a pretty good course! Microsoft also offer some PowerShell courses via Microsoft Virtual Academy. There is also some great online training provided by 3rd party companies such as Pluralsight (although as the author of several of these, I may be biased). Another way to get started with PowerShell is the PowerShell PowerCamp events ran once or twice a year in London. The Next PowerCamp event will be held in Microsoft’s Cardinal Place offices in London in October. Full details found here.
So no matter how you learn, and what your style of learning is: now really is the time to get to grips with PowerShell and unleash its potential in your organization.
Thomas has a considerable background in IT, particularly the Microsoft Platform. He has been an MVP continuously since 1995 (except for 2008), and has been a regular speaker at industry events.