Powershell is pretty interesting but I haven’t learnt much of it and it’s hard to discover commands, arguments and fields within results. All the commands have really similar generic names and cryptic mnemonics. And an annoying amount of them are text based and don’t actually interoperate with the ecosystem.
I’m more used to slinging around text with bash and the basic Linux utilities so I’m not inclined to learn more than I have to on the Windows side.
I wrote a couple hundred lines of it as part of my apprenticeship a few years ago and have occasionally needed to deal with small scripts since then.
In principle, I like the idea of static typing, as I’m a backend dev, but yeah, I don’t particularly want a script to ever become large enough where static typing truly becomes useful.
I would strongly recommend using a full-fledged programming language instead. In particular, because Microsoft somehow managed to make Powershell feel even more verbose than even C#, which is one of the most unnecessarily verbose languages out there.
Back then, it also felt quite like a web technology, where many features were only available, if you had the right version combination of Windows, Powershell and .NET installed.
And of course, the biggest strength of Bash is unattainable, which is that there’s multiple decades of people posting snippets and example commands online.
Having said all that, maybe for Ops folks, who *have* to script a Windows configuration and aren’t proficient in any proper programming languages, it is genuinely quite useful.