Why I Learned to Stop Clicking and Love the Shell

Mohammed Chowdhury
Tech Jobs Academy

--

PowerShell, that is.

And alright, admittedly, I didn’t completely abandon the GUI — it has it’s place. That said, learning how to use PowerShell has sped up my work process considerably.

I could go on forever about why I love PowerShell, but here are a few of the reasons I prefer PowerShell to the GUI:

I. Once you’re used to it, PowerShell is just faster (for most things).

I’m impatient. I don’t enjoy waiting around for a wizard to load just so I can make one small adjustment.
For example, here’s how you add a DNS forward lookup zone using the interface (taken from this TechNet article):

  1. Open the DNS Manager.
  2. In the console tree, right-click a DNS server and then click New Zone to open the New Zone
  3. Follow the instructions in the wizard.
MFW I’m waiting for a wizard to do it’s thing

Why in tarnations would I do all that, when I can just do this:

Add-DNSServerPrimaryZone -Name "GlobalNames" -ReplicationScope "Forest"

The above command is how I added a GlobalNames Zone to my recent Tech Jobs Academy project.

II. You can automate tedious, repetitive tasks.

If you have to add 1000 users to Active Directory, you can just use a PowerShell script to go through a list of users to add and add them all automatically instead of having to add them one at a time.

Even if you only end up having to add one or two users, having a PS script that will just prompt you for a user’s relevant info and add that user to AD will be much faster than going through the GUI.

There are also plenty of scripts shared online by fellow techies that can make your job easier. You can edit the scripts to your liking (and don’t forget to thank the person who made it).

III. When I’m learning how to implement a feature with PowerShell, I end up learning more about that feature than if I had just used the GUI.

This one may vary from person to person. Having to lookup PowerShell cmdlets and what each of their switches does helps me learn more about a concept than if I just mindlessly clicked through a wizard. Of course, you can always read through the wizard and then read extra material, but I find cmdlet documentation is more succinct.

There are also certain options you can’t access through the GUI, like setting a Hyper-V VM’s network adapter to trunk mode. Hyper-V Manager only offers a way to set a virtual network adapter to access mode, but you can set it to trunk mode through the Set-VMNetworkAdapterVlan cmdlet.

IV. Learning PowerShell will give you a competitive edge.

General Turgidson can’t contain his excitement about learning PowerShell

For whatever reason, there are people out there who just don’t want to learn how to use PowerShell. But PowerShell is more efficient, and knowing how to use it effectively will give you an edge on the job hunt. Becoming comfortable with using a command line interface will also make it easier for you to learn System Administration with other OSes like Linux.

In my next post, I’ll shed some light on some small things I’m constantly doing to become better at PowerShell.

If you’d like to learn more about PowerShell, I would highly recommend the following book:
Master PowerShell by Dr. Tobias Weltner, a free online book available at PowerShell.com

Or if you prefer videos, Don Jones has the Learn Windows PowerShell in a Month of Lunches series on YouTube.

--

--

Mohammed Chowdhury
Tech Jobs Academy

Student. Jack of all trades, master of none. Likes: anything tech, basketball, handball, movies and exploring new hobbies.