Next Windows PowerShell will have GUI, remote management support
Two of the single most begged for features for PowerShell, the devastatingly useful scripting tool now made an integral part of Windows Server 2008 and Exchange Server 2007, are being addressed in the Community Technology Preview for version 2.0.
As Microsoft now confirms, there will be a unique graphical front end for editing scripts and running commands and cmdlets (compiled PowerShell keywords). And yes, Virginia, there will be a newly supported remote link to servers running Server Core, the new minimal Windows installation introduced in WS2K8.
PowerShell can't run on Server Core natively because it requires the .NET Framework, which Microsoft has considered exporting to a command-line-only version, though it has yet to provide a roadmap for such a version. But Server Core systems are meant to be left running and then left alone anyway, and existing Microsoft management tools can run graphically on remote machines, monitoring and managing multiple Server Core installations simultaneously.
As PowerShell's key architect and creator Jeffrey Snover told BetaNews this afternoon, while existing users have found a way to manage Server Core remotely using a variety of extensions, PS 2.0 will use the same channel Microsoft's graphical tools, like System Center, use: the WS-Management library. An updated version of the WinRM (Remote Management) toolkit, numbered 2.0, also entered public beta yesterday; this will provide the direct and unencumbered link between PowerShell running on a .NET-endowed server, and multiple Server Core systems in the network. The PS 2.0 CTP requires this beta version for its connectivity.
"Windows ships with a WINRM native (win32) command which allows you to manage remote machines via WS-MGMT," Snover told BetaNews. "This allows you to manage remote Server Core machines. The output of the WINRM cmdlets can be TEXT or XML. When you run this command from PowerShell, you get to leverage PowerShell's excellent XML support to provide an easy and rich scripting experience for Remote Server Core machines."
Among the other completely new features scripters can expect to see is the new graphical script editing console, which harbors its own PowerShell instance. No longer will you need to run PowerShell from a text window the way you would run the command prompt (CMD.EXE). At the bottom is a kind of "immediate window" for running commands on the fly, inspired by a similar Microsoft tool that first appeared in Visual Basic 1.0 in 1991.
And in this blog post from late March from another side of the Microsoft campus, B# language developer Bart de Smet writes about PS 2.0's task prioritization, which now enables some tasks to be run with background priority. This feature is actually made possible, de Smet describes, by PS 2.0's new support of WS-Management (WS-MGMT). For complete support of this library, a script service also needs to be able to respond to system events -- in other words, to launch a cmdlet at the time something specific happens -- and PS 2.0 will add event support as well.