Promoting Scripting and PowerShell

Last week I was interviewed on the Mind of Root podcast about what administrators can do to promote PowerShell and automation in their environments. The show is now available for streaming or download. I still think your best approach is to gently let everyone know that it’s not a matter of if you will use PowerShell, only a matter of when. PowerShell is Microsoft’s management strategy. That doesn’t mean you need to script or use a console. I discussed Exchange 2007 as an example in the podcast. You may use PowerShell and not even realize it. But for complex and hard-core tasks, you will need to drop to the console.

I also encourage people to find a regular IT task that is now performed manually and create a PowerShell alternative. Try to stick to someting you can do with one or two lines of PowerShell. Remember, the goal is to reinforce the idea that PowerShell is first and foremost an interactive management shell. As an alternative, you might also find a short script you use now and achieve the same results with a few lines of PowerShell.  Personally, I think VBScript files using WMI are great targets.

I hope you’ll listen to the podcast and let me know what you think.

GUI vs CLI

I often talk about using PowerShell GUIs vs the console experience. There is certainly a place for a GUI, but sometimes you need the raw power that comes with a console session. Here’s an example.

Continue reading

Appending Property Values in PowerShell

This morning I helped out a fellow scripter in the PowerShell forum at ScriptingAnswers.com. He was trying to figure out an Exchange 2007 problem. He wanted to update a property value, but keep the existing property values. This seems a like a reasonable request and one that isn’t limited to Exchange. There are plenty of objects you might work with in PowerShell where you want to keep the existing property value and add to it. My solution is specific to the Exchange problem, but I think you could use it as a model for similar problems with other objects.

Continue reading