PowerShell, seen as an evolution of the former Windows command-line shell, offers a new way the shell interprets the commands (not as plain text but allowing more interaction). This scripting language interprets objects with methods and attributes that have have access to much of .NET Framework. For example, for retrieving the length of a string, we can call the property Length of an object of type System.String.
PowerShell also allows you to work with COM, WMI, XML and Active Directory.
A cmdlet is a lightweight command that is used in the Windows PowerShell environment
To run the simplest commands we only need the interactive shell from Windows. Type Powershell.exe. It is compatible with DOS commands and UNIX commands.
However, there are several tools that provide syntax highlighting, debugging, like PowerShell ISE or PowerGUI.