PowerShell 1.0 – The First Cmdlets

An introduction and explanation for a post series on the cmdlets of PowerShell 1.0.

PowerShell 1.0 Cmdlets – the dawn of a new era

Back in November 2006, PowerShell 1.0 was unleashed upon the world, and IT administration has never been same since. There was a total of 129 cmdlets out of the box. Compare that today to a fresh install of Windows 10 having over 1500 cmdlets, and a Windows Server 2016 domain controller having over 2100 cmdlets, and you can see that PowerShell has come a long way from humble beginnings!

Revisiting PowerShell’s roots (and some of its most fundamental cmdlets)

I recently did a post about making progress bars in PowerShell, which covered the use of the
Write-Progress cmdlet. This cmdlet has been there since version 1.0, but it was one I hadn’t familiarized myself with until I had a need for it.

For PowerShell 1.0, a team had to make tough decisions about what to include in that important first release. They couldn’t address every function of Windows, so they had to decide on a set of cmdlets that would be the most versatile and useful to get the language off the ground.

I decided to do this series for two reasons:

To expand and refine my own knowledge. Looking at each cmdlet in a little more depth will enrich my own understanding.

Covering a single cmdlet (or a couple if they are tightly related) per post provides a bite-size, digestable chunk of knowledge for others.

Mileage may vary

There may be some cmdlets along the way you will never use, while there may be some you can’t believe you haven’t used before. The intent of this series is to provide exposure to this cmdlet set and provide some insight and examples above and beyond the standard
Get-Help output.

First Up: Get-Help

The first 129 cmdlets were broken up into five snap-ins (though four of the five have since been converted to modules). We will start with the cmdlets in the Microsoft.PowerShell.Core snap-in first, and what better to begin with than Get-Help .