One of Brent Ozar's observations following the recent TechEd North America conference was that "there's a huge demand for good PowerShell basic training". Given Microsoft's strong conservatism, it has been surprising to see radical languages such as PowerShell and F# appear, and gratifying to see so many IT professionals realise that in PowerShell, we have, at last, the fabled 'glue' to allow applications, COM processes, .NET assemblies and frameworks to cooperate in producing workflows.
For example, several pioneering Database Developers have used PowerShell to automate the database deployment process; Exchange Admins have brought the complexity of the maintenance tasks under control, and PowerShell is now established as the natural way of scripting Windows admin and monitoring tasks. Exchange and SQL Server have pioneered the use of PowerShell's hosting mechanism to expose their management interface as a series of Cmdlets, and other servers are following suit with PowerShell interfaces.
PowerShell has slipped into its current role through pretending to be little more than a DOS Batch-processing replacement or 'task-automation framework'. In fact, it is a language that outsmarts Perl and Python and Ruby. PowerShell's designers were veterans of the previous generation of scripting language, and were able to leapfrog much of the spadework by using what was already there in .NET. Like Perl, PowerShell allows a number of different approaches to achieving an aim, and enables the command-line-jockeys to write terse scripts as accessible as Klingon, whilst allowing perfectly conventional and maintainable language-conventions, or clever object-oriented scripting.
Although PowerShell was limited in being slow to execute, it is now being re-implemented to use the DLR, which means that scripts and functions are now no longer interpreted every time they are run, but are compiled, executed, and cached.
For Windows to have a powerful scripting tool, better than the UNIX equivalents, is somewhat of a novelty. It is going to continue to cause radical changes to Windows server applications, and the tools we use to administer them. Even the desktop should no longer be immune to change, and we expect to see some imaginative ways of creating applications that can be extended via PowerShell. Who needs the unlovely VBScript anymore?