PowerShell takes a lot of what I dislike about cmd.exe and makes things worse. Many cmdlets assume some form of hidden state that isn't documented. Despite needing to use it, I often do so holding my nose. I really wish Windows would adapt the unix paradigm for command line...