Why Windows Server? (Please no fanboyism)

I’ve been lurking in r/homelab for a while, and I’ve seen a lot of people recommending windows server for other people’s homelab, but I don’t know why. In my mind, Linux servers can do everything Windows can do, for free. I know some people use Windows for work so it makes sense to learn for work, but other than that, what can Windows Server do that Linux can’t do, or at least is so much easier that it’s worth the licensing fees?

P.S. Please don’t turn this into ‘windoze is bad’ or ‘LiNuX sUcKs’, I want actual applications/use cases that favor one platform over the other in 2020

2 Likes

The immediate options that come to mind is roaming profiles and group policy. There’s also WSUS if you’re into that sort of thing. What you ultimately want to do with it would dictate what I’d recommend someone run. I like Linux for a lot of things but there some things it just can’t do, like some dedicated game servers just don’t have a Linux client.

3 Likes

Aren’t roaming profiles and group policies analogous to network user shares and Kerberos domain controlloers/LDAP? I’m not super familiar with the DC realm of things tbh.

Game servers I can see, but that should be a game by game basis imo. And as Wine/Proton gets better, this becomes less of an issue

AD DS is just quite nice to use, its mature, its been improved over the years. It has is sticking points but it works well.

If you have any windows servers or computers in your environment, AD is a no brainer. Which is why Windows server is seen a lot in environments.

I’ve worked in environments that have been 100% Windows, 100% (ish) Linux, and a mix of both.

Theres a discrepancy in the Linux one there. I’ve worked in an environment that was for all intents and purposes 100% Linux based. Except the workstations, the issue was that Linux just wasn’t capable of providing the end user software that was required for the users needs. In the end the servers were Linux, the zero clients were even linux, but the workstations that loaded onto them were Windows.

As for other environments. For a lot of things, windows server is just pretty easy to use, not only that but for office environments where you may have a mix of workstations, email, intranet, and cloud services, windows server, AD DS, and Azure and just great frankly. And Linux doesn’t compete.

In saying all that, even then, public facing web services tend to be a mix of linux or windows, product application servers are again (depending on technology needs) windows or linux.

It is at the end of the day, dependant on requirements and needs.

As for why people recommend it in homelab, I expect its because a lot of people run Windows, and windows server will be a familiar and easy to integrate environment.

3 Likes

There may be a way to do roaming profiles with a Linux server. The amount of wizardry I’ve seen in emulating active directory on Linux leads me to think it could exist. Samba + Kerberos can already do a good bit and even mapping ACLs.

Group policy on the other hand is another beast entirely. I’m not aware of anything that works similarly for Linux.

Again the use case for a window server homelab would really just depend on what you want to do with it. I run windows exclusively on my desktop but unraid on my server with many Linux VMs and a windows 10 VM for those use cases where I need windows. I don’t use server but I’ve contemplated it for better control over how my windows boxes are set up. Ultimately I personally don’t feel the benefit is worth the work of setting up a forest and fucking around with GPOs.

I would say while Linux is very capable in the home server role, there’s a lot you can do with windows server that you may not realize it’s any good at.

2 Likes

Hyper-V Server is free.

It’s also a very capable hypervisor with a ton of features.

It’s great for learning because that’s the defacto for the enterprise.

1 Like

Are there any features that HyperV has that Linux based VM Managers (Xen, KVM, etc.) don’t? Or again, does this just get chalked up to ‘learning for work’?

1 Like

You can share a single GPU with multiple VMs without the need for SR-IOV.

2 Likes

I’ve struggled to get a high availability and failover working for KVM. I still don’t know how to do it, despite hacking and reading and man paging all day.

With Hyper-V it was a few clicks and a single command. Then I unplugged the primary server and watched it happen in real time.

That, imo, is a huge feature.

Their networking and disk drive is much easier to manage with PowerShell than KVM to Bash. But I started as a Hell Desk rep and moved into Windows sysadmin so I’m sure someone that has managed Linux servers since they were 14 will dispute this.

PowerShell is superior to Bash, though, in my experience.

3 Likes

Just out of curiosity, were you using raw qemu/kvm+libvirt commands in bash or using a gui system like Proxmox or XCP-ng? If you used the GUI with HyperV then the command line with Linux, I’m not sure if that’s a fair comparison

1 Like

I was using virsh for KVM and Add-VMHardDiskDrive/other cmdlets in PowerShell.

Both systems were headless and managed remotely.

It was CLI vs CLI. Since I’ve presented my thoughts on PowerShell, I’ll state that I prefer Unix-like and Linux operating systems for my day to day and job related tasks. I have KVM on two systems, VMware Workstation on one, and Bhyve on another. I am much more proficient at Bash now than I was previously, and I’ve undoubtedly lost my PowerShell chops. But I am still having a hard time finding out how to failover/replica KVM.

I do understand that Proxmox is a very viable system and robust platform that has HA.

3 Likes

Just install Proxmox.

How dare you mock my future children

3 Likes

Samba does a bit of GPO stuff, iirc you basically had to use windows tools to wrangle the policies, but then they’re just sitting there on sysvol for workstations to be able to use, and even samba looks and interprets simple stuff like login/password requirements.


One reason to keep windows server in a homelab is that it’s likely going to be what you end up encountering in your small office - traditional business environment. I believe this is because:

  1. inertia
  2. windows workstation/client support (that’s timely so changes in protocols and requirements coming with windows 10 are supportable pretty much on day 1)
  3. documentation / reference / access to training material makes it much easier to setup what’s essentially just kerberos ldap dns subdomain and file sharing…

In principle, I guess all one needs to do is take whatever is the latest version of mcsa/mcse training and try to do the exercises on e.g. Debian with some windows 10 clients in VMs.

Even if some stuff is not the same, documenting e.g. the changes to kerberos ticket format required and how to setup or map an ldap schema to be ad compatible or how to map users to samba and do dfs, how to set and use group policies… basic stuff like that should just be described in one place that’s easy to keep up to date.

2 Likes

No.

I use Windows 2016 Server Essentials as a main NAS, and here are my very subjective reasons why:

  • Because Windows 10 is my preference for workstation, and this is why:
    • I double as a gamer for a very long time.
    • From time to time I was trying to switch, with an assumption that working will be done on Linux and gaming on windows, but there are always the same subjective things that stop me.
    • No Total Commander, there are many such apps on Linux, but those are very limited and half of them does not build my confidence for being able to copy files properly.
    • Whenever I wanted to set Linux to do things exactly how I want, there was always a matter pf choice:
      • A) you do everything manually, because you know every single of thousands setting options (and forget about convenience UI apps because they override everything while only being able to set/use 5-15% of available settings)
      • B) use those convenience UI apps and accept theirs limitations
    • Drivers support
    • No need to configure UI API cross-compatibility for many desktop managers standards.
    • Linux has too many choices (both - good and bad) and sometimes it seams that quality of those choices is compromised by quantity. Its like, if you give humans a free will, it would take them millennia to disprove every other solution (and fight over them) before they will come to the conclusion that the shape of the water drop is the optimal one. With Windows, it at least seems that people are somewhat committed to one solution :smiley: (for better or worse).
      And that “commitment” actual might mean better convenience tools (like Total Commander).
  • So when comes to general home server, following aspects matters for me:
    • SMB compatibility (SMB multipath)
    • I run Total Commander on server for “managing” the NAS storage
    • remote desktop connection never disappointment me
    • Plex looks much easier to be installed
    • Convenience vs features ratio
    • I’m pretty much sure that those cheap SAS HBAs, that I have, will not work with BSD, and that would limit me strictly to Linix distros.
    • I play with Windows Servers since I switched from Windows NT 4.0 to Windows 2000 Server :slight_smile:

If I would rephrase all that into one sentence, it would be:
For me, convenience, usability, familiarity and ease of use with possibility of experimenting - strongly keep me on the windows side for the most daily used machines (since it is the worst system, except all others that I have tested).

I keep Linux for things that I want to setup once strictly with commands/scripts and keep for a long time (in my case - NAS and workstation are not one of such things).

7 Likes

Yeah, Samba-AD is what you are talking about. I run this at home for the sole MS windows laptop that we have in the house. I run the Samba-AD stuff on a Raspberry Pi B (not recommended because it eats up the single core CPU).

You can also run OpenLDAP on top of that with kerberos (and radius if you are feeling frisky) to create the whole windows domain feel. It takes some work setting it up and getting things configured, but once it is set, you have the stability of the unix-like systems with live updating and the need for as few reboots as possible.

There are features that Samba-AD does not yet support, but in a home environment, your will more than likely never implement them or want to use them if you have a mixed OS environment.

1 Like

It looks at though samba does support group policy but it’s very limited in scope.

https://wiki.samba.org/index.php/Group_Policy#Creating_a_Group_Policy_Object

It also seems as though it supports replication as a member of the domain controllers.

It’s not a ton of functionality but it’s something.

Exactly. That is why I use it at home. No need to run a full MS infrastructure for one machine. Samba-AD is pretty light that it can run (barely) on a single core Raspberry Pi B (single core, 128MiB RAM).

Seems like more work to get basic functionality tbh

Not sure why you’d want it at all if its just one machine.