I am certain by now you have heard that the SharePoint 2013 preview is available. I am also betting that you have at least glanced at the beast long enough to be overwhelmed by all of the new, awesome features. You quickly start imagining yourself dancing with sugarplums and setting up social feeds to really make your company take it up a notch on the coolness scale.

Then your boss throws cold water on your face and tells you to wake up and get back to work. Oh yeah, while you have grand visions for SharePoint 2013, those people who sign your paychecks aren’t quite there yet.

So you are going to be using SharePoint 2010 for a while to come, but you want to keep learning. That is why you got into IT, the constant evolution of knowledge. That internal need is why you want to play with 2013 today so badly, even if your boss says no. How about we find something that will make both of you happy? Remember that thing called the SharePoint Management Shell, a.k.a. Windows PowerShell? Maybe now is the time to go super deep with it. Why? Well, you know how much SharePoint 2010 loves it today. Guess what? SharePoint 2013 loves it even more, if that is possible.

Every time I get in front of an audience or students in a training class, I remind them: If you are going to live in a Microsoft world, doing any type of administration work, including SharePoint, SQL, Exchange or even Windows, PowerShell will become more and more important every day. I usually say something cliché like “PowerShell is the future.” Well, that is wrong, because it is today.
#!
You may be saying, “But Shane, I am not an administrator or developer, why do I care about this?” Because you are the type of person who is reading this article. You aren’t some slacker; you care about growing your skillset and are interested in all things SharePoint. Let PowerShell be your gateway to understanding more admin topics.

Have you ever wanted to create a list with 10,000 items to test something with? PowerShell can do it. Ever want to move files from the file server to SharePoint and copy over the create date, modify date and owner? PowerShell can do it. Do you have a VM you use to test? Want to be able to fix your own boo boos? PowerShell is your friend. Did you know there is even a Web Part that lets you run PowerShell? I have never used it, but it looks pretty cool.

So don’t give me grief about how you aren’t an administrator or developer, so you have no use for PowerShell. Everyone has a use for PowerShell.

When you take a look at PowerShell, it is real easy to get overwhelmed. There are lots of great scripts and such to use to accomplish tasks, but not a lot of back-to-the-basics stuff. To that end, here are five commands I feel everyone should start with:
• Get-Command
• Get-Help
• Get-Alias
• Get-Member
• Start-Transcript

Once you are an all-star with those commands, then you can really start to build out your knowledge. From there you will need to learn about |, aka “the pipe.” You will also look at loops, with the ForEach-Object loop being the most popular. I have taught classes on all of this stuff, so I have never looked for a good resource. There are plenty of websites and books; do a little digging and find one that speaks to you.

With the basics well in hand, you can finally follow along with all of the chaos presented on those scripts on the Internet. My favorite place to look at SharePoint scripts is get-spscripts.com: clever name and clever scripts. My warning to you though is don’t just run scripts off the Internet on your server. You need to use the skills you learned earlier to dig into each script and understand it first, then test it on a test server. My buddy Todd Klindt has a hilarious story about the difference in PowerShell between two commands:
Get-SPDatabase | Where-Object {$_.Name -eq “SharePoint_Config”}
Get-SPDatabase | Where-Object {$_.Name = “SharePoint_Config”}