As far as operating systems are concerned, Windows is perhaps the least reliant on the command line. In fact, most of us have managed to get this far without ever once using it. But with Windows 10 around the corner, maybe it’s about time we learned.
But before you jump into it, there’s one significant difference that you need to understand, and that’s the difference between Command Prompt and PowerShell. They look pretty similar on the surface, but in practice are vastly unlike each other.
Here’s what you need to know about the two.
The Command Prompt Came First
Starting with Windows NT and beyond, Windows came equipped with a command line interpreter called cmd.exe, better known as Command Prompt. With it, users could interact with the operating system using text-based commands and parameters.
But while Command Prompt came first, it wasn’t the first. Previous versions of the operating system (Windows 95, 98, and ME) had a more primitive command line interpreter called COMMAND.COM, better known as MS-DOS.
It goes without saying that Command Prompt was a huge improvement over the outdated MS-DOS interpreter.
Despite the graphical nature of Windows, the command line has never been — and will never be — obsolete. It offers a degree of power and flexibility that just can’t be achieved with point-and-click interfaces (such as batch scripting), and depending on your proficiency, you can get things done faster using Command Prompt.
For example, here are some common tasks made easier by Command Prompt. In addition, there are several basic commands every user should know in case you need to troubleshoot an issue and all you have is command line access.
If you’re an absolute command line virgin, we recommend checking out our beginners guide to Command Prompt. It’s easier than you think and well worth knowing.
While Command Prompt is more than adequate for the average user, some people want more — which is why command prompt replacements, like the open source Console, exist. Fortunately for us all, Microsoft had a better answer in store: PowerShell.
PowerShell Took It to the Next Level
If Command Prompt is like a 2004-era Motorola Razr, then PowerShell is like a 2015-era Motorola Moto X. It can do a lot of the same things and more. PowerShell may not be the best command line interpreter available, but it’s certainly powerful enough to satisfy power users.
The seeds for PowerShell were planted in 2002 when Microsoft began working on Microsoft Shell, also known as Monad, which was designed to be extensible by users. Monad went public in 2005 and was eventually renamed to PowerShell in 2006. At the same time, it became integrated into the operating system itself.
But what does all of this mean?
Simply put, PowerShell allows you to create your own commands and scripts using the C# programming language. Both PowerShell and C# are integrated with Microsoft’s .NET Framework, meaning you get access to a lot of preexisting functions and tools to help you create better commands and scripts with less overall effort.
PowerShell has a lot of advanced features — like remote execution of tasks, background tasks, task automation, command piping, and more — that make it a better choice than the archaic Command Prompt when you have a lot of system administration and maintenance to do.
Should you use PowerShell? Well, the average user doesn’t really need all of these bells and whistles. Administrators and power users, on the other hand, will likely love what it can do. Get started with these basic PowerShell commands to get a taste of its potential.
Note: PowerShell has a bit of a learning curve, so don’t expect to grasp it right away.
PowerShell Improvements In Windows 10
As useful as it is already, PowerShell will be receiving several improvements when Windows 10 is officially released. Here are some highlights that you can expect.
PackageManagement: A package manager is a convenient way to manage all of the software that you download, install, and remove. Instead of hopping from website to website, you just browse packages with PackageManagement (formerly known as OneGet). By subscribing to different repositories, you can pick which packages are available to you.
OneGet is technically available already for Windows 8.1, but only if you install Windows Management Framework 5.0. When Windows 10 comes around, PackageManagement will be integrated with the system by default.
Secure Shell (SSH): Secure Shell has long been a staple protocol for establishing encrypted connections between remote systems. Without SSH, it’s easy for outsiders to intercept data as it’s being transmitted.
Until recently, SSH on Windows required use of a third-party solution (e.g. PuTTY), but the PowerShell team announced that they would be implementing SSH support on Windows. It took a while, but it seems like Windows is finally catching up in this area.
PowerShell Features: With version 5.0, the language of PowerShell itself is being enhanced with new features like: classes and enums, new built-in commands, expanded features for existing commands, syntax coloring in the console, and more.
For in-depth details, check out the What’s New in PowerShell 5.0 article by Microsoft.
Hopefully you now have a better sense of the differences between Command Prompt and PowerShell. If you’ve gotten this far and you’re still confused, don’t worry: PowerShell is for power users and Command Prompt is good enough for everyone else. In fact, you can get by without knowing either.
Have any questions? What do you think about PowerShell? Is Microsoft going in the right direction? Share with us in the comments below!