Introducing PowerShell 2
PowerShell 2 has been in the works for a long time with the first technical preview dating back nearly two years. Here is a small taste of the numerous features they have added since then.
- Remoting: Cmdlets and Scripts can be executed on remote machines.
- Background Jobs: Background jobs can be started both locally and remotely using PsJob.
- ScriptCmdlets: Previously Cmdlets needed to be written in a statically compiled language such as C# or VB. Now they can be written directly in PowerShell script.
- Steppable Pipelines: Pipelines can be treated like objects with elements being passed in one item at a time.
- Data Sections: Data sections allow data needed by a script to be separated from the logic itself. In addition to the organizational benefits, this also allows for internationalizing scripts.
- Script Debugging: Breakpoints can be set on “lines, columns, functions, variables, and commands”.
- The “splat” operator: The @ operator can be used to pass a collection of key-values pairs as a single parameter.
- PowerShell ISE: The “Integrated Scripting Environment” is a lightweight IDE that is split into three panes. The top pane is for editing scripts while the lower pane is used for immediately executing individual commands just like from a normal PowerShell prompt. This isn’t really needed though, as the top panel also supports executing highlighted commands just like SQL Server Management Studio.
- Out-GridView: Instead of just dumping data onto the console, you now have the option to send it to a pop-up window with live grid that supports sorting and filtering.
- Modules: Modules replace snap-ins as a way to create reusable libraries of cmdlets, scripts, and providers. Unlike Snap-ins, which have to be installed, Modules can be simply copied to a user or system-wide folder. Once there, they can be directly imported by any script that needs them.
- Events: WMI and CLR events can now be sent to an event queue or bound directly to an action.
- Transactions: A transactional framework now exists, though currently the only supported provider is for the registry.
- Error Handling Blocks: The standard try-catch-finally blocks seen in Java, C#, and VB are now available in PowerShell as well.
- Add-Type: This uses the CodeDOM to compile code fragments from any .NET language.
The release canidate for PowerShell 2.0 is now available on XP and later operating systems.
Educational Content
Intro to CLP with core.logic
Ryan Senior Jun 18, 2013
Spock: A Highly Logical Way To Test
Howard Lewis Ship Jun 18, 2013
Java Garbage Collection Distilled
Martin Thompson Jun 17, 2013
C++11 The Future is Here
Bjarne Stroustrup Jun 16, 2013
The Big Data Revolution
Claudia Perlich Jun 16, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think