TOOWTDI

PowerShell 2 is an integral part of Exchange Server 2010, and the latest Windows Server technologies, perhaps on the premise that ubiquity breeds familiarity. Exchange has now reached the point where some operations are only available to PowerShell scripts, leaving no safe but slow GUI alternative for the tentative administrator (although there’s a certain irony here). Changing the famous Perl acronym TMTOWTDI: TOOWTDI AIWIIP (There is only one way to do it, and it will inevitably involve pain/PowerShell)

Whilst we at Simple-Talk naturally support PowerShell’s use as a scripting medium, and agree with Microsoft’s policy of encouraging its use as a scripting language, it’s a little unsettling when encouragement turns into compulsion. PowerShell is potent magic for the PowerShell priesthood, but mumbo-jumbo for ordinary mortals and, unlike VBA, makes no compromises with the user.

VBA in Microsoft Office was originally introduced as the scripting language that anyone could use, but even this hasn’t been adopted as hoped. Technologies such as the macro-recorder would, you’d have thought, made VBA the logical scripting medium for all of us. Yet I can still count on one hand the number of people I know who are even remotely inclined to script their own macros. There’s definitely an audience for this sort of thing, but that audience isn’t everyone.

I’ll be the last person to suggest that PowerShell isn’t useful, but the time it takes to learn is a non-trivial barrier to entry, and not everyone likes to script. Unless you’re already a PowerShell guru, there’s often a certain amount of pain involved in scripting an operation, as James Allison demonstrated when it took him, literally, days to set up, debug, and perform a PST Import into Exchange Server 2010. The (debatably) braver system administrator with no PowerShell knowledge might download a script from the internet *gulp* and hit ‘run’, but the rest of us will opt for the safer option of a 3rd party tool to solve the problem in a fraction of the time it would take to tinker with scripts.