Forgive me if I'm speaking completely in erro, but doesn't Powershell allow the latter, by exposing every Windows API known to man?
Sometimes you can do something via PowerShell, but only by using PowerShell to directly call some 'raw' .NET API.
Sometimes there's a native CLI utility that'll do what you want, but it's one of the DOS-like, pre-PowerShell commands, and the PowerShell equivalent is missing or unsuitable.
Even when a native PowerShell API exists, it can be difficult to find the documentation for it because Windows culture is to document GUI solutions first (and often GUI solutions only).
Try as one might, Windows remains a platform inherently hostile to automation. Doing automation and/or configuration management on Windows sucks.