PowerShell is a task automation and configuration management provided by Microsoft for Windows Operating systems. Powershell provides interactive shell for issuing commands. Powershell platform also provides scripting language.
Powershell have access to the underlying operating system components like COM
, WMI
WS-Management
etc. Powershell is developed in .Net framework.
Versions
Powershell started developing in 2003 but it takes some time to release first version.
PowerShell 1.0
First version released in 2006 and supported operating systems are
- Windows XP SP2,
- Windows Server 2003 SP1,
- Windows Vista
Powershell 2.0
Powershell 2.0 is integrated with Windows 7 and Windows Server 2008 R2 . The following new features are added to the v2
Powershell Remoting
will enabled scripts and cmdlets to run remote systemsBackground Jobs
allow run scripts asynchronouslyTransactions
will added and can be used for write operations like registryModules
are used to organize scripts and script files in a name space manner.Script Debugging
is used to trouble shot scripts while runningEventing
is an other useful feature used to listening, forwarding management and system eventsIntegrate Scripting Environment
is a tool used to write, run and debug Powershell scripts.Network File transfer
can transfer files to remote systems.
Powershell 3.0
Powershell version 3 is integrated to the Windows 8 and Windows Server 2012 and following features are added
Scheduled Jobs
is very useful feature added in this versionCode Completion
is used to auto complete or suggest commands
Powershell 4.0
Version 4.0 comes with Windows 8.1 and Windows Server 2012 R2
Desired State Configuration
allow to specify end configuration of a serviceWhere
andForEach
keywords for loops
Powershell 5.0
Version 5 have following features
Class Definition
will enable more complex data structure creationEnumeration
is used to foreach in array like structures
Cmdlet
Cmdlet or commandlets are specialized commands to implements specific functions. Cmdlet uses Verb-Noun pattern for naming. For example Get-ChildItem
express cmdlet function with verb Get
and noun ChildItem
.

Integrate Shell Environment ISE
ISE is simple tool provided by Powershell to develop, run, debug Powershell scripts. It provides existing cmdlets help and auto completion to easy Powershell development job.
