Well, I have tested it. They have some good things, like strong syntax, but they messed some other things completely – like pipes as object streams? Come on!

Regardless: CMD.exe is really primitive (like an early 80s UNIX shell), while Powershell is an external software package (like cygwin) you have to go and install it. If you have ever used Bash seriously and then tried to use cygwin or Powershell you’d know that its not on the same level. The reason is that its not only the shell – its about the entire system: Linux comes with tons of tools and applications that are geared to work nicely as components in a shell environment, while with MS-Windows you don’t even have a normal pager.

Compared to what you can get on MS-Windows (including cygwin), Linux is like working in a state-of-the-art workshop with more tools then you knew existed (and 5 sizes of each) compared to working in your garage with your ill fitting work desk, where half the time you can’t find the exact tool that you need and have to kludge it and the rest of the time your tool is not the exactly the size or shape that you need and you still have to kludge it.