Windows has an utterly useless command-line environment. PowerShell is an attempt to remedy this, but honestly it's both a little too much, and far too little at the same time. Ubuntu on Windows is another attempt that falls short of its goals, it's a second-class environment strapped on top of the legacy mess that is Windows.
The only thing I've found that makes Windows even habitable is that the Node.js experience is actually pretty good. With NPM, git, and a good text editor you can get a lot done, but even then you'll hit bare dirt now and then. Want to make a quick shell script to automate something? Hah! No. You need to commit to making a quick Node script instead.
The problem is that the commands are verbose (although part of that is because of the VERB-OBJECT style which is a great concept) as are the parameters and switches. It seems designed more for scripting and easy guessing of commands.
However, in the Windows world you’re more likely to see C# used for scripting, and the verbosity takes away from the CLI aspect.
Also, it’s slow. And Windows apps are not created with the command line in mind. For example, if I want to have even close to a chance of compiling VS solutions on the command line I have to open the Dev tools CLI which is not Powershell (and even then it’s likely to fail because VS does environmental setup that the CLI tools can’t).
It's ridiculous that grandma's MacBook Air has better command-line tools than a typical developer's high-end Windows Professional workstation.