How to use the terminal in Windows.

I spent most of my Tuesday morning staring at a broken deployment script for a regional council workstation, and it reminded me why I can’t stand the way people talk about command lines. If you search for “how to use the terminal in Windows” online, you’ll mostly find two things: bloated, thirty-minute YouTube tutorials meant to farm ad revenue, or “expert” forum posts suggesting complex PowerShell scripts that haven’t actually worked since the Windows 7 days. It’s all cargo culting. People are just copying and pasting commands they don’t understand, hoping something sticks, while the actual, functional tools are buried under layers of unnecessary GUI nonsense.

I’m not here to give you a lecture or a list of commands you’ll never use. My goal is to cut through the noise and show you the specific, battle-tested commands that actually move the needle in a modern environment. I’ve spent seventeen years breaking things and fixing them, so I’m going to show you the direct route to getting things done without the fluff. This isn’t about memorizing a manual; it’s about practical efficiency that works on a real machine, not in a theoretical sandbox.

Command Prompt vs Powershell the Truth About What Actually Runs

Command Prompt vs Powershell the Truth About What Actually Runs

I spent most of the mid-2000s living in the Command Prompt, and for a long time, I thought that was all there was to it. But if you’re still trying to manage a modern fleet using nothing but `cmd.exe`, you’re essentially bringing a knife to a gunfight. The debate of command prompt vs powershell usually gets bogged down in technical jargon, but here is the reality: CMD is a legacy tool for basic file manipulation and simple batch scripts. It’s fine for checking an IP address, but it has no business being your primary tool for anything complex.

PowerShell, on the other hand, isn’t just a “better” command line interface; it’s an entire object-oriented framework. While the old prompt sees text, PowerShell sees data structures. If you want to automate actual administrative tasks across a network, you need the power of the pipeline. I’ve seen too many junior admins struggle because they’re trying to parse strings like it’s 1998, when they should be leveraging actual objects. Don’t get distracted by the bells and whistles of windows terminal customization yet—learn which engine is actually driving the bus first.

Managing Shell Environments Windows Without Breaking Your System

Managing Shell Environments Windows Without Breaking Your System

Look, I’ve spent more hours than I care to admit cleaning up messes left by junior admins who thought they could just swap out shell profiles without a second thought. When you’re managing shell environments Windows-wide, the temptation to go wild with third-party wrappers is high, but that’s how you end up with a broken path variable and a system that won’t boot to a login screen. My rule is simple: keep your core environment clean. If you’re going to tinker, do it within the modern Windows Terminal app rather than trying to rewrite the actual system binaries.

If you want to actually improve your workflow, focus on windows terminal customization instead of hacking the registry. You can set up profiles for different tasks—one for a quick PowerShell check, another for a legacy CMD session—without risking the stability of the underlying OS. I’ve spent years building a spreadsheet of what actually sticks, and I can tell you that properly configured profiles beat a “system optimizer” script every single time. Stick to the built-in settings, learn a few essential keyboard shortcuts, and stop trying to reinvent the wheel.

Five Things I Actually Do (And What You Should Stop Doing)

  • Stop using the legacy ‘cmd.exe’ window for everything. If you aren’t using the modern Windows Terminal app from the Store, you’re working twice as hard for half the result. It handles tabs and Unicode properly, which means you won’t spend twenty minutes wondering why your file paths look like broken gibberish.
  • Learn the ‘cd’ command properly, but don’t be a martyr. I see people manually typing out long directory strings like it’s some sort of rite of passage. Use Tab completion. If you aren’t hitting the Tab key every three seconds to autocomplete your paths, you’re just wasting time you could spend on something useful.
  • Stop running everything as Administrator by default. I know, it’s easier. But after seventeen years of managing fleets, I’ve seen enough permission-related disasters to know that “Run as Admin” should be your last resort, not your first instinct. Learn to use ‘sudo’ for Windows if you want to act like a professional.
  • Use ‘Get-Command’ to stop guessing. People spend hours scouring forums for the “right” command, only to find out they’re using a deprecated alias that won’t work in a script next month. If you’re in PowerShell, use ‘Get-Command’ to see what’s actually available in your specific environment before you start typing blindly.
  • Keep your scripts out of the registry and in plain text files. I’ve seen people try to bake complex logic into environment variables or registry keys just to “automate” a task. It’s brittle, it’s hard to audit, and it’s a nightmare to troubleshoot when it breaks. Write a simple .ps1 script, save it in a dedicated folder, and add that folder to your Path. Done.

The Bottom Line

Stop treating PowerShell like a glorified Command Prompt; if you aren’t using objects instead of text strings, you’re just wasting your time.

Avoid the temptation to download “optimization” scripts from random GitHub repos; most of them are just registry junk that won’t actually change your system’s performance.

Use Windows Terminal as your home base, but keep your environments isolated so a bad script doesn’t tank your entire session.

Stop Clicking, Start Typing

Stop Clicking, Start Typing in PowerShell.

Look, we’ve covered a lot of ground here, but it boils down to this: stop treating the terminal like some scary, black-box relic from the nineties. We’ve established that PowerShell isn’t just a fancy version of CMD, and that managing your environment without nuking your registry is the only way to stay sane in a modern Windows deployment. I’ve seen too many junior admins copy-paste scripts from random forums without understanding the underlying shell, and frankly, it’s a waste of everyone’s time. If you understand the difference between a legacy command and a modern cmdlet, you’re already ahead of ninety percent of the people currently “managing” Windows fleets. Just remember: test your scripts in a sandbox before you push them to a live environment.

At the end of the day, the terminal is just a tool, no different from a screwdriver or a paddle in my kayak. It won’t fix a broken hardware driver or a licensing error, but it will give you the precision that a bloated GUI never can. Don’t get intimidated by the syntax or the sheer volume of commands available; just focus on being methodical and skeptical. Once you stop relying on the “magic” registry tweaks and start actually understanding how the shell interacts with the OS, you’ll find that the terminal isn’t an obstacle—it’s your most reliable ally. Now, get off the forums and go run something useful.

Frequently Asked Questions

If I start messing with PowerShell execution policies, am I going to brick my user permissions or just make things more annoying for the next admin?

You aren’t going to brick your permissions, but you will definitely make life miserable for the next person who inherits your machine. Changing the execution policy doesn’t alter your actual user rights; it just tells PowerShell which scripts it’s allowed to run. If you set it to `Unrestricted` just to get one script working, you’re leaving the door wide open. Set it to `RemoteSigned` and leave it at that. Don’t be that admin.

Is there any actual point in learning the old Command Prompt syntax if I'm already using a modern terminal?

Look, I’ve spent more time than I care to admit debugging scripts that failed because someone assumed PowerShell was everywhere. It isn’t. If you’re SSHing into an old server or running a legacy batch file on a stripped-down recovery environment, PowerShell won’t be there to save you. You don’t need to be a CMD wizard, but you do need to recognize the syntax so you aren’t staring blankly at a screen when the modern tools fail.

How do I know if a script I found on a forum is actually doing what it says, or if it's just another useless registry bloatware fix?

Don’t just copy-paste and pray. If you find a script on a forum, open it in Notepad first. If it’s a `.bat` or `.ps1`, read the actual commands. Look for `reg add` or `Set-ItemProperty` calls—that’s where the registry tinkering happens. If the script is a black box that runs an obfuscated `.exe`, walk away. I’ve spent too many afternoons undoing “optimization” scripts that did nothing but break my service permissions.

About Serge Oyelowo-Haan

Half the registry tweaks people swear by have done nothing since Windows 7. I test them.

Windows Terminal Set Up Nicely
Scroll to top