Starting a blog is not an easy task. Marc has been harassing me for months to write some posts related to Powershell. My knowledge is still limited and I am far from being a master (I will introduce myself in another post, this is not my goal today). However my experience is growing. Scripting, scripting, scripting, and again scripting. This is the secret... But were to start? If you don't know anything about Powershell, what would you do to be ready to attend the next Microsoft Winter Scripting Games? Here are some advices for beginners. No big deal. Don't put pressure on yourself, just find your way to become a master. |  |
1. Install Powershell
It may sound stupid as a first tip, but this is something really concerning for a beginner. If you're a real beginner, start with PowerShell version 1, which is still the latest official version.
As pre-requisite, you must have .NET Framework 2.0 installed.
When you start to have more experience, you can start to think about PowerShell version 2. The CTP3 was released some weeks ago and we will cover some new cmdlets (abbreviation of “commandlet”, that you can translate as a “function” or command for now…). .NET Framework 2.0 is required. However, if you want to take advantage of the new features, such as Integrated Scripting Environment (ISE) and Out-GridView, you should install .NET Framework 3.5 Service Pack 1.
- .NET Framework 3.5 Service Pack 1
Go to the following URL and find out what version (x86, x64) matches your environment: http://msdn.microsoft.com/en-us/netframework/aa731542.aspx - PowerShell v2 CTP3
Go to the following URL and find out what version (x86, x64) matches your environment:
http://www.microsoft.com/downloads/details.aspx?FamilyID=c913aeab-d7b4-4bb1-a958-ee6d7fe307bc&DisplayLang=en
If you want to use remoting features of the v2 CTP3, you will have to install the following component (still Beta at the time of writing the post)
2. Find some (free) good Documentation
There are a lot of other interesting docs available, for free or not… start with those ones and share any other you find interesting with us!
3. Get an Editor and start to write your first Scripts
Powershell is a shell… but also (mostly?) a scripting language. And to write your scripts, you need a good editor (even if in fact Notepad is enough to start!). Here is a quick selection of some editors I tried and really liked. Download them, evaluate them, and make your choice. You have to feel comfortable to create your scripts.
First of all, the free editors…
- PowerGUI: http://www.powergui.org
PowerGUI just rocks! It’s a, FREE, very nice-looking editor with a bunch of nice features and it permits to create “Powerpacks”, collection of nodes and functions to extend the PowerGUI console. Just have a look at the screencast tutorial and you’ll find that amazing. I will certainly propose some Powerpacks in the future.
- PowerShell Analyzer: http://www.powershellanalyzer.com/
One of the first Powershell editor. Haven’t worked with it for a long time but it was nice to work with. Very interesting features too.
- PSPad: http://www.pspad.com/
This my favorite free multi-languages editor. It contains a lot of cool features and color definition for Powershell can be downloaded.
And for the lucky ones who can afford commercial applications, the two following can be natural choices. I anyway invite everybody to download the trial versions, just to have an idea if the features they propose are worth the cost for you and your company or not (and I believe they generally are!). Both following tools have different version (standard, professional, enterprise) and provide great features like color coding, auto-completion, sample scripts, WMI/ADSI wizards, forms builder, logon script builder, etc.
Let’s stick to those ones for now; we’ll propose other competitors in a future post, including extended comparison.
4. Convert from vbs
Learning a (scripting) language is not an easy job and it is difficult to have a “starting point”. If you’re already a scripter, mainly in vbscript, I would suggest you to start converting the scripts you already created. For that purpose, you must absolutely add the following link to your favorites “The VBScript-to-Windows PowerShell Conversion Guide”:
http://www.microsoft.com/technet/scriptcenter/topics/winpsh/convert/default.mspx
5. Time for discipline!
And from now, if you have to create new scripts, don’t use vbscript but do it directly in Powershell: “yes boss, it can take me 10min to write it in vbs and 2 hours in Powershell... but that's the future... Do it in Powershell or die…“
6. Find some goals and projects to work on with Powershell
Go the scripting games webpage of last years and use the competition as training:
http://www.microsoft.com/technet/scriptcenter/funzone/games/default.mspx
7. Ask the experts, read their experiences
Woody Allen is the master of one-liners. You can become the Woody Allen of Powershell if you carefully listen to the wise and experienced guys. I’m far from being part of this restricted club but believe me, I do respect them a lot!
- Blogs
- Windows Powershell Blog: http://blogs.msdn.com/powershell/
Microsoft Powershell team official blog, mainly represented by Jeffrey Snover, Windows Management Partner
Architect
- BS on Posh: http://bsonposh.com/
Brandon Shell is the one. Any of his comment/post is interesting and clever.
- Dmitry’s PowerBlog: PowerShell and beyond: http://dmitrysotnikov.wordpress.com/
The creator of PowerGUI has a lot of energy and shares a lot of knowledge.
- The PowerShell Guy: http://thepowershellguy.com/blogs/posh/
Marc, nicknamed /\/\o\/\/, was one of the first guy to blog about Powershell on the Internet. He started a series
of “Hey Powershell guy!”, using the concept “Hey Scripting Guy!” concept for Powershell.
You also want to have a look at his Powertab tool.
- get-powershellblog: http://marcoshaw.blogspot.com/
Marco Shaw is an MVP from Canada. He’s been blogging for a long time now and is proposing very
interesting podcasts, where you can find interviews of different Powershell stars!
- Richard Siddaway's Blog "Of PowerShell and Other Things": http://richardsiddaway.spaces.live.com/
Active member of the UK PowerShell User Group, Richard proposes a nice series of very short posts that permit
to get interested in some features or cmdlets
- Discussions
- Use a newsgroup reader client and subscribe to “microsoft.public.windows.powershell”, ask your questions
or just read the news. Always interesting.
- Windows PowerShell Technet forum:
http://social.technet.microsoft.com/Forums/en/winserverpowershell/threads
- The Official Scripting Guys Forum! at http://social.technet.microsoft.com/Forums/en/ITCG/threads/
Ever been to the Script Center? You know, http://www.microsoft.com/technet/scriptcenter/. If your answer is
"yes," you know what to do. Dive in and help somebody! If your answer is "no," welcome to our fun little world!
We'd recommend that you first head over to the Script Center, get your feet wet, and then come back to either
ask or answer questions. We can't be everywhere at once (I know--shocking!), so we will appreciate any and all
help you can give to each other to get scripting problems solved. The Microsoft Scripting Guys
8. Script, script, script… and when you’re done, script again!
No choice. If you want some experience, you have to script. And improve your existing scripts. Otherwise you will forgot what you learned. That’s pity , but it’s fact.
In the next post, we’ll cover some additional things you can learn or use to be more efficient to Powershell, including a short list of books. Open your mind, a new world is coming to you. In the mean time, check all the links I provided, read the docs, train yourself, and… You're ready for the next Winter Scripting Games :-))