About 6-7 years ago at school we were taught how to script using VBscript. I was really bad at it though and never really made an effort to change that. When PowerShell became more popular however I had gained some working experience and was also pleasantly surprised by the simplicity of it.
I started learning about PowerShell scripting by googling and using script examples. Disadvantages of this approach however is that:
- You can pick up bad habits from others (without realizing it).
- You sometimes don’t know exactly why you’re doing things a specific way.
- You sometimes don’t know why some things are/aren’t working.
PowerShell is getting increasingly important though:
- Even though more companies are offshoring and employees are relatively, it is still cheaper to automate instead.
- Cost isn’t the only issue, speed is important as well. Scripting allows you to get things done more quickly.
- PowerShell is increasingly being adopted by more companies, products and (cloud) services.
- The number of available built-in cmdlets are increasing, which makes it even easier to automate actions.
- For many products you have to use PowerShell to make specific settings, because only the more basic settings are available in a Graphical User Interface (GUI).
- Changes can be applied consistently in a development, test, acceptance, pre-production, production environment.
- Less chance of human error.
- If done correctly, you’ll also have included a way to quickly revert the changes by script.
To make sure I didn’t miss out on too many things, I decided to start with a book that teaches the basics. Because of the good reputation of the authors Don Jones and Jefferey D. Hicks in the PowerShell community, I decided to go for their book “Learn Windows PowerShell 3 in a month of lunches, second edition” published by Manning Publications Co.
The book’s purposely didn’t try to stuff all PowerShell related information into the book. Instead it provided the reader/student with the basics needed to be able to find/discover this information themselves if needed. I personally like this approach, because otherwise there would be too much information to take in which might be demotivating and distracting.
I also liked the practical examples of common mistakes made by people who are new to PowerShell. There were a lot of examples I ran into as well when I started using PowerShell and I think this will prevent people from becoming frustrated because they understand why things aren’t working the way they might have expected.
All in all this is a great book to start learning PowerShell. This is however just the start and you should expect to continue using other resources/books to further your knowledge. The book also provides links to useful resources as well. And most importantly … start using PowerShell more so you will learn by experience.
Personally I still have these books lying around, but haven’t decided yet which one to start with next:
- Learn PowerShell toolmaking in a month of lunches – Don Jones and Jefferey D. Hicks
- PowerShell and WMI – Richard Siddaway
- PowerShell in depth – Don Jones
- Windows PowerShell Scripting Guide – Ed Wilson
- Windows PowerShell 2.0 Best Practices – Ed Wilson
- Windows PowerShell 2.0 Administrator’s Pocket Consultant – William R. Stanek
I’m also still considering taking a PowerShell course, but I’m a bit hesitant about the added value because it’s hard to determine the quality of a course by the description.
If you have experiences or suggestions, please let me know.