Think of the command line, and you probably think of a pretty limited tool. PowerShell takes things to the next level, going far beyond the command line's ability to run simple DOS scripts. It includes not only a command line shell, but also its own scripting language. This is an object-based language based on .NET Common Language Runtime (CLR).
The beauty of PowerShell is that is a true crossed-platform tool. It is, of course, available for Windows, as well as macOS, numerous Linux distributions, and even Raspberry Pi. It is demonstrative of Microsoft's increasing embrace of Linux, and these days PowerShell is even open source.
While on the face of things PowerShell is complex and intimidating, the way it has been implemented means that there are lots of entry pointed. So-called cmdlets can be used to execute commands, and when scripting, aliases can be used to simplify coding – also the language of cmdlets is already pleasingly accessible. But being able to use aliases makes it easier to transition from other shells that use different names and conventions.
PowerShell is fully extendable through the addition of new cmdlets to gain additional features, and they can be combined in various ways to achieve complex results. To give you great flexibility, the tool can access the host system's file system, as well as the registry and numerous other data stores. For anyone getting started out in PowerShell, there's in an inline help system that can be used to learn how different commands works, the parameters and syntax that are available, and so on.
There are in fact multiple versions of PowerShell available, and here we have focused on the stable release. For anyone looking for additional security, there is the LTS (long term support) edition, but for people keen to try out the latest new features as soon as possible, there is also a preview edition which is updated far more frequently. These versions can be downloaded from the PowerShell GitHub repository here.
An immensely powerful successor to the old-fashioned command line, PowerShell is a must for developers and fans of scripting and automation. It is flexible and powerful enough to be tailored to an almost endless list of tasks.