I agree snprbob86, and that's what I was getting at. PowerShell doesn't know if it's a shell or an object-based language.
It's far too verbose. It's a shell, and a huge pain to type interactively. Yes, it has tab completion, but so does bash - and that's far less verbose.
It's also opaque. Because it's object-based, but you work with it on the command line, it outputs in text but there is constantly "other" information that is not displayed on screen that you can get if you pipe through to another command. That's not intuitive. Text processing is intuitive.
It reeks of design by committee. It's own execution policy. Java-like getter/setters. Super verbose syntax. About the only good thing PowerShell has done is force Microsoft to provide a command-line, scriptable interface to all their server products to get away from GUI dependency. And that's a product of their PowerShell internal policy, not the language itself.
Yes, it's better than CMD.exe. But still a huge pain. Other platforms have Python, Ruby, Perl... and dare I say it, bash.