Reclaiming your inner-geek through PowerShell


I’m 12 years old, and I have a Commodore 64 my parents bought from a neighbor. You can laugh, but I used that thing all throughout high school with my dot matrix printer and horrible word-processing application churning out reports on manifest destiny and other topics. I had Flight Simulator that took forever to load, and the games? While they were no match for today’s life-like ones, I had some cool ones. River Raid anyone?


It was through Commodore 64 Basic and some minor experience with type-in gaming that I decided to take on the challenge of tweaking a Blackjack game (that didn’t allow betting to keep score) to make it more interesting.  I remember spending days going over the printed out code on that dot matrix paper, and adding in strings and variables. It didn’t work the first time, or even the 20th, but eventually I got it to work (probably at 2 a.m.) and what an amazing feeling that was. That was my summer of ‘85. I think that might have been a lot of your summers too (depending on your age and level of geekiness).

Not much excites me like that these days. And I learned in my later years that beyond giving games the ability to double-down (apparently a feature that only seemed to have one venue) I wasn’t much of a programmer.

But something happened recently that made me reconnect with that 25-year-old feeling. I was working on my latest course Configuring Exchange Server 2013 with SharePoint 2013, and I had quite a bit of configuration to do through PowerShell.

With two of the lessons PowerShell was the ONLY way to configure the solutions. There was no GUI alternative. For example, when configuring Office Web Apps Server (OWAS) you have to tell your Exchange server and SharePoint server to use the OWAS solution going forward. That’s after you install and configure the OWAS farm. And how do you do that?

You guessed it, through PowerShell on the OWAS server. So just to make this solution work you have to use PowerShell on your OWAS (with the New-OfficeWebAppsFarm cmdlet), Exchange Management Shell on your Exchange server (with the Set-OrganizationConfig and Set-OwaVirtualDirectory cmdlets) and the SharePoint Management Shell on your SharePoint server (with the New-SPWOPIBinding cmdlet). And those commands are just the primary ones. There are others you may need to use for various setting adjustments.

The cool thing about all of this? When it finally started working (at 2am, coincidence?), it felt incredible. It felt like I had a secret skill that nobody else had.

I had the same feeling when creating another lesson on Site Mailboxes, that once again could not be done through GUI. The configuration is incredibly taxing. As I mentioned in another article, one expert said when you’re done you feel like you built a house! One thing is certain, without PowerShell you simply cannot make this happen. You have to configure your Exchange server to trust your SharePoint server, and vice versa. There are scripts you have to run with parameters you have to ensure are correct in order to connect both servers and add a site mailbox. But once you have it done and working, you feel like you’re invincible.

The fact is, if I wasn’t comfortable enough with PowerShell, and didn’t understand how it worked well enough, there is no way I could have made these server configurations happen. There are certainly aspects of both Exchange and SharePoint (on their own) that can only be done through PowerShell. But it’s impossible to make them work together, at least in getting them to use an OWAS server, or be able to use the Site Mailbox feature, without a modicum of PowerShell familiarity.

Now I know you’ve read it all before right? PowerShell is the key to your future, the key to automation, the key to keeping your job. I know what kind of persuasive writing is out there because I’ve written some of it personally. All of it is absolutely true. And, what’s more, PowerShell is the key to getting Exchange and SharePoint to work together in certain instances.

But on a whole different level, an understanding of PowerShell provides a way to revisit some of the nostalgic command-line days, perhaps even your basic coding days (depending on how old you are) and make you feel like a true IT admin all over again. Now, if you feel like you need to learn the essentials of PowerShell, or even explore deeper levels with it, check out some of the training TrainSignal has from PS master Jeff Hicks.

Well, it’s late. 2 am as a matter of fact. Time to put on my Star Trek pajamas and get to bed.

TrainSignal trial

Your trial includes access to our course on Configuring Exchange Server 2013 with SharePoint 2013!