No hate at all here, but my last contract I had to deal with Windows deployments and it's still a clusterfuck.
Without a Enterprise agreement you can't automatically install a new Windows 10 machine, period. Bear in mind this counts for the same machine being reinstalled constantly (whilst working out the exact incantations). The Linux hosts these machines ran on installed fine from Kickstarts / preseed files.
Powershell was nice, you can't compare it to bash (they're just too different) but it lives in a world that is .net and the vast majority of the Windows world isn't .net. We needed Windows VMs for some specific apps that couldn't even install without a gui. Could I automate their install? Not a chance.
Basically all these changes are 10 years too late. Powershell is nice, if you live in a .net world. I can't PXE boot a Windows VM without gui intervention without a Enterprise agreement. Why the hell would I go with a Windows Nano solution, which doesn't support the entire Windows ecosystem, when I can write a greenfield app in Linux, even using Mono, and call it a day?