But how did we get here?
In order to fully understand why PowerShell matters,
I think it helps to know how things used to be. Back in the day
when I started my IT career, when it came to systems management or
even anything approaching automation, we used things like DOS batch files.
Now, during the NT days,
we were fortunate enough to get our hands on the number of,
what referred to then as Resource Kit Tools.
These were command‑line utilities designed for managing Windows and
Windows servers. Although, every command had its his own syntax, so
the learning curve was a little steep. Now eventually, because we're
talking about Windows after all,
Microsoft gave us the Microsoft Management Console,
or MMC.
This set of tools offered an interactive GUI for
managing the things we needed to manage.
Shortly after that, VBScript became a thing for IT pros,
and I spent a lot of my early career mastering VBScript.
In fact, my first book was on VBScript.
Now, if we were lucky,
other vendors may have supplied command‑line tools or VBScript
files that we could use to manage their stuff.
IT pros interested in automation spend a lot of time
bundling all of these things together.
Eventually,
reality and changes in the IT landscape forced Microsoft and IT
pros to recognize things needed to change.
First off,
a graphical tool can only do what it is designed to do. Now,
most of these tools simply don't scale.
Now, I don't want to create one mailbox at a time.
I need to create 100 at a time.
Now, you've probably seen this as well.
Automation and efficiency are becoming more and more critical.
Companies can't afford to do things manually.
In addition to speed,
automation also implies consistency. With an automated
process, if Paula kicks off a task,
say to create 200 new users in Active Directory,
the same process will happen when I run it.
Paula no longer has to worry if I'm going to forget a step
in a manual checklist and mess things up.
In fact, automation can also serve as documentation.
And if you've been in IT at all, the last few years you know
that the culture of DevOps is spreading.
Now this supplies automation tools and languages.
I don't know exactly how much of this Microsoft recognized years ago,
but they did know that despite the name of Windows,
enterprise management is done at a console, which
meant they needed a new direction.
If you recall the days of Windows XP,
we had a sneak peek at where Microsoft was going.
Now you might remember the WMIC command‑line tool,
which gave you immediate and easy access to system information from WMI.
If you look at the get command and result, it might even look familiar.
That's because WMIC was the first major project at Microsoft for Jeffrey Snover. Yep, that's right, the future father of PowerShell.