Someone told me that windows server UI interface has more options than CLI. I got scared of windows server (how do you repeatedly Setup the same server, with a screenshot documentation ???)
First of all, most Windows settings are in the registry, so you don't have to go to the UI, you can just upload new settings straight into the registry through CLI.
Second, PowerShell exists and it's awesome!
And third, you can always use UI automation tools if you're bad at registry and PowerShell. Just record your session and run whenever needed.
Newer versions of Windows can give you the exact Powershell code it's executing based on what you've configured in the gui. This is still extremely inconsistent across Windows services though. I don't know that I'd feel comfortable running a headless windows server yet. Too much stuff still assumes you'll use the gui for most things.
To be honest, if you really need Windows servers you should run core if possible. Basically all Microsoft's management shit can be run remotely from your jump/management host. That said a lot of shit requires gui and refuses to run on core, like adsync
There's slight difference in resource usage of course, which does scale if you're unlucky enough to have lot of them.
Minimum ram required is 512mb for core, 2gb for desktop experience so we can safely assume keeping the gui usable eats some 1.5gb memory. 500 servers adds some 750gb overhead in theory.
Then there's of course the fact that less bloat will generally add up to less problems. Ever rdp to a server and start menu refuses to open or other weird gui shit. That's just wasting your time.