Welcome to the inaugural post for Think PowerShell! In determining where to start, I thought it best to do an extremely high-level overview of PowerShell.
A Brief History of PowerShell
PowerShell is a task automation and configuration management scripting framework built on the .NET Framework. Scripts are written using cmdlets (pronounced command-lets), which are special classes built on .NET for performing specific operations.
The original version 1.0 was released in 2006 and introduced a basic set of cmdlets for managing the Windows OS, including functions like managing files and folders, the registry, and services and processes. Subsequent releases have dramatically increased the integration with the Windows OS, and Microsoft has made PowerShell the de facto command line management interface for numerous other Microsoft products, including Active Directory, Exchange, SQL, SharePoint, Office 365, Azure and more.
In addition to Microsoft’s efforts, major IT vendors such as VMware and NetApp have written their own PowerShell modules for managing their products. On top of that, PowerShell’s ability to interact with RESTful APIs validates PowerShell as a universal glue for managing Windows-based IT environments.
A Standard Way to Manage
PowerShell gets away from having to bolt together various command line utilities in a BAT file in order to accomplish a task. It has a straight forward verb-noun format of cmdlets making it easy to explore, understand, and begin using new cmdlets. PowerShell commands can also be executed against remote systems via the Windows Remote Management (WinRM) service, without requiring a third party utilities like psexec, and can use Windows authentication for security.
If You Learn One New Skill, Let it be PowerShell
Whether you are new to IT or a seasoned IT Pro, learning PowerShell should be the one new skill you commit to mastering in a Windows-based IT environment. Over the many posts to follow, I will cover topics both basic and advanced, from academic to real-world use cases. My goal is to add a few drops to the vast ocean of possibilities to use PowerShell.
For a much more in-depth description and detailed history, check out Wikipedia’s article on PowerShell.