Yes, I do hate Cygwin. This is most likely due to two factors:
- I began my career as a Windows administrator.
- My first experience with Cygwin was not a good one, and was a very long time ago (1998!)
Far, far, far too often I see Cygwin used by Linux admins working on Windows machines for the first time. They get to the incomprehensible labyrinth that is Windows Administration, get all wide-eyed, start googling for ways to make it more comprehensible and leap on Cygwin with the glad cries of a drowning person sighting a boat.
And then start complaining up a storm when it doesn't work like it should.
Those installs are the ones I simply loathe, and it was just that kind of install that I ran into back in 1998. I had no idea what that was, and left it in there longer than I should have. These days if I run into in on a system I'm managing I uninstall it with vigor unless it is required to keep it.
There are legitimate reasons to use it. Not many, but they do exist. Such as integrating Windows into a majority-Unix environment because one key piece only runs on Windows and you're committed to a specific platform. In that circumstance, when used knowingly, and with analysis, it can solve key problems.
But that is not how I run into it.
If you're looking at Cygwin and think, AHAH! SSH for Windows! I'm saved! Keep looking. There are better and faster solutions out there that don't incur the configuration and performance penalties of Cygwin. Some of them built from the ground up in .Net. Cygwin is much, much more than just an SSH server, so using it just for that is overkill.
If you're looking for remote Windows management the same way you remotely manage Linux machines, Cygwin still won't help you. Windows Management, unlike Linux management is not all about files and attempting to make it all about files will lead to madness, pain, and heavy drinking. For that you want to look to platform-specific tools like WinRM. Did you know you that once you have WinRM set up right in a domain you can use Remote Powershell? Looks a lot like ssh, and is far more powerful.
And if you're looking for actual file-level control on Windows, both Puppet and Chef now have Windows agents these days and they're well designed to do that kind of thing.
Cygwin has gotten a lot better in the 13+ years since I saw it first, but it continues to snare drowning Linux admins.