It's verbose, but logical... usually...
PowerShell demands a different way of thinking, and since Windows is based on API calls and not on text files something "shell-y" like cmd or even bash would never work. Unless you want to go back to VBscript syntax as a shell. Do you? I don't.
I'm finding it very *discoverable*.
PS> Get-Something --> receive objects, objects have properties and properties have values
Want to see only some properties?
PS> Get-Something | Select Property1, property 2 ! Format-Table
Want to filter by value?
PS> Get-Something | Where Property -eq(*) value
(*) almost the same comparators as bash test
Found what you want to change?
PS> Set-Something -Name thingamajig -Property pants -Value leather -Enabled
It's not much different than using sed and awk to filter data until you get information. You just have to know how to look for what you need, instead of memorizing netsh, net, netdom, and all the other stuff. Because cmd, without those other utils, is hopeless. And those utils still work in PowerShell, for now.