It is literally that simple. Nay, simpler, because authentication is automatic and secure:
Enter-PSSession 'hostname'
Oh, I'm sorry... too verbose and readable.
etsn 'hostname'
> since bash is a collection of utilities[1] and doesn't require deep integration with the platform to function.
You're also unaware of just how elegant PowerShell's extensibility model is. It runs circles around traditional shells, because you can whip up a new "native" command in just minutes, but with features that would take a week of C programming against the Unix byte-oriented pipeline.
The first time I saw something like this, it blew my mind:
Import-Csv 'serverspec.csv' | New-VM
I wrote some spectacularly complex scripts in bash, and it always felt like digging through dirt, looking for nuggets of gold that everyone promises is there, but I just can't find it.
[1] Those utilities are hilariously inconsistent not just between each other, but between distros and even distro versions. E.g.: SSH is so easy, right? Okay, write me a script that can create a sudo-enabled user and install an SSH key for them on every popular Linux made in the last decade. Include Redhat, Ubuntu, Amazon Linux, and whatever else is reasonable. Three "Linux admins" failed at this task, and I had to resort to using ChatGPT and then fixing up the result by testing it against a dozen VMs that took me a day to spin up.
> It is literally that simple. Nay, simpler, because authentication is automatic and secure:
You keep saying that as if there’s no such thing as secure automatic authentication on SSH yet people have been doing exactly that since before AD was even a thing.
> Three "Linux admins" failed at this task, and I had to resort to using ChatGPT and then fixing up the result by testing it against a dozen VMs that took me a day to spin up.
You do realise that you can get bad Linux sysadmins as well as bad Windows administrators?
Plus it’s not really fair to compare managing different distributions to managing a Windows (unless you’re counting Windows 95 and CE as part of your fleet). Most businesses standardise on one Linux distro (or BSD flavour) and only diversify from that if that absolutely have to. It’s not because Linux is harder than Windows. It’s because managing multiple different core stacks is harder regardless of whether that’s Linux and Windows. Or Linux and BSD. Or Windows 95 and Windows XP. Or different base distributions of Linux.
The first rule of managing large fleets of servers is homogenise as much of it as you can.
This is a great discussion from everyone! I have learned a lot about Powershell here, so thank you!
That said, the comparison to a homogenous windows env and a mixed flavor linux environment is disingenuous. Using multiple flavors of linux is just multiple OSes, of which Windows would be another. The best advice here is to stick to one flavor of linux, which should be possible because there are no licensing fees!
There is an often overlooked downside to “options”: it means that even well-meaning people will pick inconsistent things unless ruthlessly forced into compliance.
Single-choice vendors like Microsoft or Apple remove this variability, which is a big benefit at the scale of large enterprise or “entire ecosystems”.
Linux is too flexible, and the inevitable consequence of this is that I have customers that each have a dozen incompatible variations in production.
Even if each customer had precisely one version of one distro, my scripts wouldn’t be safely portable between them if they don’t happen to pick the same distro!
I’ve got decade-old complex PowerShell scripts I’ve reused across a dozen unrelated customers. That’s a significant benefit.
People do standardise on a distro within companies though (I made this point to you elsewhere too the last time you claimed otherwise).
And it’s not like Microsoft doesn’t change things around between different releases of Windows. I’ve ran into just as many compatibility issues with edge case software between different versions of Windows as I have with Linux. The key is just understanding the base of your OS as well as your software. This is as true for Windows as it is Linux.
And I have Bash scripts written in the 90s, before Powershell was even a thing, that still work now. In fact one of the biggest complaints about POSIX is the age of the specification. So it’s strange that you’re talking about Powershell as if it’s unique in its compatibility promise.
I’m honestly questioning just how much experience you have in this field because you talk as if everyone misunderstands Windows yet then go on to make the exact same misconceptions about Linux (and POSIX in general).
> but it's not as simple as `ssh user@host`
It is literally that simple. Nay, simpler, because authentication is automatic and secure:
Oh, I'm sorry... too verbose and readable. > since bash is a collection of utilities[1] and doesn't require deep integration with the platform to function.You're also unaware of just how elegant PowerShell's extensibility model is. It runs circles around traditional shells, because you can whip up a new "native" command in just minutes, but with features that would take a week of C programming against the Unix byte-oriented pipeline.
The first time I saw something like this, it blew my mind:
I wrote some spectacularly complex scripts in bash, and it always felt like digging through dirt, looking for nuggets of gold that everyone promises is there, but I just can't find it.[1] Those utilities are hilariously inconsistent not just between each other, but between distros and even distro versions. E.g.: SSH is so easy, right? Okay, write me a script that can create a sudo-enabled user and install an SSH key for them on every popular Linux made in the last decade. Include Redhat, Ubuntu, Amazon Linux, and whatever else is reasonable. Three "Linux admins" failed at this task, and I had to resort to using ChatGPT and then fixing up the result by testing it against a dozen VMs that took me a day to spin up.