Say what’s up to PowerShell 5 (Part 2/27)

So what’s the deal with PowerShell?  Why should you even care?

In this tutorial you’re going to learn the top 5 reasons why you absolutely positively need to learn Powershell right now.  Not tomorrow but now!

Let’s jump in:

So here’s the deal: when you go on job interviews, employers really really want to know that you can help them save both time and money.  If all you know is the Windows Server graphical user interface (GUI) and how to click menu icons and check boxes… well then you’ll be at a disadvantage because I can do with one line of Powershell in seconds what would take you minutes to click through in a menu based system.

Think about it like this: Let’s say you’re the founder and CEO of your own software company and you have two potential new hires: Bill and Vonnie.

You give both of us a common task.  Bill, starts by opening up Active Directory Users and Computers and manually clicking through 500 user principles in a Organizational Unit (OU) but Vonnie creates a script that automates the entire process and makes it repeatable.

At the end of the task I give you the script and Bill gives you a sore index finger from too many mouse clicks.

Guess whose getting the job?

Yours truly

Here are the top reasons why you need to learn PowerShell right now.

1. Complexity begets automation

Systems are becoming increasingly complicated.

IT infrastructure is a hodgepodge of SQL servers for databases, Exchange servers for email, IIS servers for websites and SharePoint for collaboration.  There’s a lot of interrelated moving parts and organizations simply can’t afford to waste time because time is money.

Companies need to be agile and have the ability to move fast. They need to scale as fast as management requires and therefore they need a way to automate redundant tasks. There’s no reason to pay a human ot manually click through a bunch of windows when you can automate the entire process with one simple PowerShell script.

Let’s say a company needs you to move 1000 users into a different OU or add or remove features to dozens of servers simultaneously or instantly restore HyperV snapshots.  How would you do it?

You could waste your life Googling around but in almost every case PowerShell is going to come up. And my argument is if you know how to use PowerShell you’ll be more valuable to your employers and can potentially command a higher salary.

Or let’s say you need to manage event logs or look for indicators of compromise (IoCs) in your server.  Sure, you could bust open the Event Viewer GUI and use filters but if you know PowerShell you can instantly pierce the logs for valuable information.

And the best part is Powershell is not hard – I kid you not IT IS NOT HARD as you’re about to see in this series…

2. Automation mitigates human error

PowerShell can help companies be more resilient and recover faster from disasters because scripting helps reduce human mistakes.

When you’re sitting in front of a failed Exchange server and the clock is ticking, management is hovering over your shoulder asking for up to the minute updates and over 3,000 users can’t email anyone in the organization, this isn’t the time to hit up Google or to start fumbling through stupid dialog boxes in Windows.

If you know PowerShell you can kick open that blue shell and use the awesome help system to teach you what to do next.  It’s pretty amazing.

And you’ll learn how to do all this in this 27 part series so don’t worry.  I’ve got your back.

3. PowerShell is excellent for personal use!

Forget the job for a moment: think about your home computer.  Let’s say you have 10TBs of photos and videos stored on a network attached storage (NAS) box connected to your LAN.

How do you manage such a voluminous set of data? All your photos probably start with a DSC_ prefix, all your videos probably were taken on different dates, everything is a mess.

Maybe the photos are stored in folders named DSC_004 or something arbitrary like that.

With PowerShell you can create a single command that organizes billions of bytes of data in one sweep.  It’s really hard to beat that kind of power and it’s the freggin’ reason why it’s called PowerShell.

4. PowerShell is super easy to learn

Wait, let me make my dumb person voice:

But Vonnie, uh yeah that’s easy for you to say.  You’re like the one using PowerShell all the time – yeah of course it’s easy for you uhh

Allow me to disabuse you of your erroneous thinking: PowerShell is easy peasy.  In fact, after we go through this series together you’ll wonder why you didn’t start using it earlier.

Once you learn the PowerShell syntax you’ll see how discoverable and predictable it is.

You won’t fear this text-based environment and you’ll see why it really is the way to go.  I’ll walk you through step-by-step how to get comfortable with PowerShell… don’t worry.

5. Sometimes it’s your only choice!

Guess what: sometimes you won’t have a command prompt.  If your box gets infected with a sophisticated rootkit it’s possible to completely “poison” the command prompt so all your commands are being interpreted through a demonized version of the command window.

Or in some cases, the bad guys will completely destroy cmd.exe so you can’t even open a command prompt!

Yup *ish happens.

But do you know what?  Sometimes the bad hacker dudes in black forget about PowerShell!  And the kick ass thing about PowerShell is that once you open the shell you can load all your traditional command prompt applications such as ipconfig, ping and nslookup.  Everything you could run from the command prompt runs from the PowerShell…

The Bottom Line

GUIs are slow, PowerShell isn’t.

One thousand mouse clicks can be supplanted with a single PowerShell command.  And once you see how easy it is to use the commands and write scripts you’ll see just how freggin’ fun it is to use (and why I’m so amped about it).

The commands (technically called cmdlets but we’ll talk about that later) let you do so much in such a compact set of characters.  And when you start passing data between commands via the pipeline you’ll get even more utility out of it.

The bottom line is Microsoft is baking Powershell into all its products.  Windows Server 2012 R2 tries to install without a GUI by default and Windows Sever 2016 embraces Powershell.

In fact, PowerShell is Microsoft’s standard for automation and your future as an IT pro relies on it.  So let’s get going!

Your first tutorial is coming on January 28th


Connect with Vonnie on Twitter

Posted in Windows, Windows 10 Tagged with: