Now you may be wondering, why does all of this matter?
Why should you be investing your time and energy into learning PowerShell?
The answer to those questions have changed a bit over time,
but with PowerShell 7, the long‑term goal is for you to be able to
manage anything from anywhere on any platform.
It doesn't matter if what you have to manage is in the basement data center or
in the cloud. PowerShell makes it easy to manage at scale.
If you can use PowerShell to set up one new Active Directory
user account or one virtual machine in AWS,
it should be just as easy to do it for 10, 100, or 1000. PowerShell
gives you the option to manage things interactively. Although, I
expect many of you will move quickly to build scripted solutions that
can be automated. PowerShell should also make it easier so that once
you learn the tool set, you can run it anywhere.
Today you're on the Windows desktop,
but tomorrow you're moving to a Mac. Microsoft doesn't
want you to have to start all over.
Of course,
we're not at this utopian stage yet, there's certainly much more work
to go, but there is a vision. With all of the current emphasis and
interest in automation, PowerShell should be considered one of the
primary automation languages.
It's not the only one, but probably a good one to start with.
PowerShell makes it easy to create scripts, and scripting,
as I've said, provides consistency.
You don't have to worry about forgetting some steps or mistyping a command.
I'd also argue that if you've built the proper automation tools, the
scripts themselves can also serve as documentation.
Now everyone knows the process for provisioning a new user
account or standing up a new SharePoint server.
And automation through scripting provides efficiency.
I once heard of an Active Directory administrator who was very content to
manually create new user accounts one at a time in the GUI.
He was in no hurry to learn anything new.
Apparently his boss didn't care either.
But I know that in the 5 minutes it might take him to create a single
user using Active Directory Users and Computers,
that GUI tool, I could create 100 accounts in even less time through PowerShell.
Here's another example.
What you see here is an old DOS command that's going to query a list
of servers for the status of the BITS service.
My list has 100 servers, and I'm going to go ahead and run it.
And this command took 10 minutes to run.
And let's not even think about how long it would take for you to do
this manually with GUI‑based tools. Again, all I'm showing you here is
kind of an old school approach to what we used to have to do as IT
pros. Now compare that to a few interactive PowerShell commands using
the same list of servers.
This time it only took me 27 seconds.
Now,
certainly there are other PowerShell ways and commands I
could use for that same list of servers in order to get the
information, but this is one way, 27 seconds,
obviously a whole lot faster than 10 minutes.
And if I needed to build a report,
say from the command output, it'd be super easy to
run a few more PowerShell commands.
The bottom line is you need to learn PowerShell because it is the
language of the cloud and the modern data center.
Even if your company isn't doing Azure or AWS today, maybe they will
tomorrow, or maybe your next job has you managing Office 365 tenant. Learning PowerShell future‑proofs your career.