Beginning Windows PowerShell
For a Windows administrator, until early last decade, the options available for automation of administrative tasks were very limited. I started my career with the Windows NT platform and worked my way through limited scripting technologies, such as DOS batch scripts, VBScripts, JScripts, and so on. I had written several scripts to automate my daily tasks, and each of those scripts was tens to hundreds of lines in length. It was not easy and/or possible to integrate them with other automation technologies or scripting languages. For example, using VBScript, it was—and still is—impossible to access the functionality provided by .NET assemblies or Win32 native API. The Windows shell provided command-line tools to automate a few tasks, but the output generated by these tools is always text, which requires complex parsing, using regular expression techniques that generally intimidate any person getting started with scripting. While the technologies were great during that time, they had certain limitations, and compared to where we are today, they were not all that productive. One big reason for this was the lack of focus on command-line scripting within the Windows OS. Microsoft, to a large extent, focused on making an end user’s life easy, by providing excellent graphical user interfaces (GUIs). However, the lack of proper scripting tools and languages was certainly a shortcoming for the enterprise IT administrator.