Earlier this week, Tony Redmond wrote about Jeffrey Snover – also known as the godfather of PowerShell – being promoted to Technical Fellow at Microsoft; one of the highest achievable ranks.
Given that Jeffrey is considered to be the founding father of PowerShell, that does not really come as a surprise, as PowerShell has changed the way we work and interact with systems. And this does not only apply to large-scale environments or cloud solutions like Office 365.I am not going to give you a rundown of the history of PowerShell. Tony already outlined that pretty well in his article. However, I wanted to grab this opportunity and talk about what PowerShell has done for the Exchange administrator and how it continues to be important. Or better, how its importance continues to grow.
When you think about PowerShell, you think automation. Having the ability to quickly perform tasks, which would otherwise take a long time when executed manually, is a benefit to everyone. Despite the advantages of PowerShell, I still come across many environments and administrators that are wary of PowerShell. I agree there is a learning curve, but that is true for most other things, too. The benefits of PowerShell largely outweigh the time you have to spend learning how it works. The good thing is that you don’t have to be a PowerShell-guru to do some pretty impressive things. There are a TON of great resources on the Internet where you can download code samples and complete scripts that can do exactly what you are looking for. Even if you are not PowerShell-savvy, that can be a quick way to automate that pesky task you don’t like doing anyway.
This brings me to another point about automation. Are you automating enough? I often talk to administrators who tell me they don’t think a certain task should be automated because it only takes a few minutes to complete manually. If you only have to execute the task once, you’re probably right. However, consider the following graph:
Although the intention of the graph was to be funny, it holds a LOT of truth. The bigger the task, or the more repetition of the same task, the more sense it makes to automate that task (by whatever means you see fit). The task to automate something usually takes up some time as well, which – at some point – will create more work than executing the task manually. However, once the task has been completed, no more time is spent or lost doing it manually. Over time, you actually save time. If you really want to be picky, you have to consider the additional effort required to maintain the scripts/automation tasks, but that’s minimal compared to the total amount of effort, anyway.
Next to PowerShell, there are many great ways to automate certain tasks. There was a time where VBScript dominated the world of automation, and many of those scripts are still valid today – depending on what you are trying to do. All this goes to say there might be more than one way to achieve a goal. Some might be more difficult than others, but in the end, the result is what counts. More complex automation tasks might require you to use additional tooling to get the job done.
Even though I’m not an expert at System Center Orchestrator, I have found that the available Integration Packs for Exchange, SharePoint, Active Directory etc. are pretty useful and easy to use! If you have the license, why not start experimenting with it and see how it can help you save some time and do other things?!
If you want to find out more about automation, what you can do with it (or are interested in a few examples of how automation has saved a lot of time in other environments), then make sure to be at IT/Dev Connections where one of my sessions (“How to automate yourself to a well-deserved vacation”) will cover all those things and more.
See you there!