PowerShell 3 which will be released as a part of Windows Management Framework 3.0 is currently in CTP. Apart from being based on the DLR, it has a lot of new features such as better workflows, simpler syntax, delegation of credentials, robust sessions and more.
A big change is that PowerShell 3.0 is based on the Dynamic Language Runtime; though not exactly the same way as other DLR languages like IronPython or IronRuby. Joel Benett, in his article “PowerShell 3 – Finally on the DLR!” explores this in detail and also explains the performance improvements that DLR brings to PowerShell.
Some of the new features in this version are -
- PowerShell workflow
- Sessions automatically recover from network failures, interruptions or even shutdowns
- Commands that can be executed with a delegated set of credentials
- Simplified language syntax
- Improved cmdlet discovery and automatic module loading
- Ability to Expose set of cmdlets as RESTful web services via OData
- ISE Commands add-on
- IntelliSense and Code Snippets
- New cmdlets for DHCP
- Invoke-RestMethod which simplifies working with XML returned from the web. PowerShell MVP, Doug Fink gives an example in his blog post.
- Autoloading of modules
- Web Access – access PowerShell remotely using a browser/mobile devices.
- Default Parameter Values
If you are keen to try PowerShell 3 out, do note that you can also run PS 2 and 3 side-by-side; something that was not possible with 1 and 2. Also note that this is a preview release, and features could change between now and the final release.
What features in PowerShell 3 are you most excited about?