FreeNAS suited really well in managing our legacy systems and it handled all our network flows really well, less maintenance is required on our part. FreeNAS also gave the option to switch to TrueNAS for free as now its support is limited. The major issue that we faced was with the installation as it is really complex and required lots of time. Rest all is good and FreeNAS still works well on our systems.
If you have one user or 1000's of users (especially using Windows), Windows Server is a no-brainer! The only reason I would suggest going with a Linux server is if you have old hardware (Windows Server is more process intensive than Linux). But, Linux is open-source, so anyone can publish updates/security updates, but on the flip side, malicious people also have full access to Linux's codebase allowing for much easier writing of exploitations/viruses/malware/ransomware.
User and device management out of the box. Active directory is a proven system for doing this and works just as well as it always has.
ADFS providing integration into many third-party applications using SAML authentication. We use this heavily to make user experience as simple and straightforward as we can.
Local DHCP. It's another one of these systems that is very easy to setup and use out of the box and requires very little maintenance, if any. The system is almost unchanged throughout the years and so anyone with server experience can manage it.
Windows Server is extremely complex, and while newer versions have eased the initial setup process, setting up a server is still a very time consuming and difficult task.
The complexity of Windows Server also makes troubleshooting any problems that arise extremely difficult, both in tracking down the actual issue and then resolving the issue. Often times a problem can manifest itself in more than one way, making searching for the specific problem also difficult.
Windows Server is also very expensive, with complex and confusing licensing terms. In fact, Microsoft provides a 32-page PDF guide on Windows Server licensing, which is in and of itself dense and confusing to follow. To make matters more complicated, there multiple different version of Windows Server itself - Nano, Essentials, Standard and Datacenter edition, and each edition has different licensing terms. Licensing terms include items such as the physical processor's cores of the server, how many users will be accessing the server (called a CAL - client access license), and a plethora of other items.
Microsoft's support for Windows Server can be extremely frustrating at times. While Microsoft hosts a very active user forum, Microsoft employees who frequent those forums often provide only stock answers to questions (without actually reading the details) or no answers at all. For more in-depth - phone support can be quite expensive.
Upgrading a Windows Server from one major version to another (i.e. 2012 to 2016) is a frustratingly complex and dangerous procedure, as many things can go wrong during the upgrading, essentially breaking the entire setup. In fact, Microsoft doesn't even suggest doing an in-place upgrade, but to perform a backup of the existing server, doing a clean install of the new version, and migrating the information from the older version to the new version. In general, it is not even recommended to upgrade from one version to another as the risk significantly outweigh the benefits.
I've carefully reviewed the servers and services currently running on Windows Server 2012, and given the opportunity would renew them as is going forward. There are two systems I currently have in place, one is a very large Linux implementation for a large ecommerce site, and one is a very large backup solution front ended by FTP servers running Linux. Neither are well suited for Windows, but the overall network infrastructure is and will be Windows Server for the foreseeable future.
Everything can (and should) be done through the easy to use/navigate GUI. There is no need for archaic command prompt use to administer the server. But, it is there if you have very specific needs for batch files, etc. that are not covered in the all extensive GUI.
It has been my experience that unless there is a flaw or bug with Microsoft Windows Server, you will have to pay extra for support beyond the support web site. That said, unofficial support on the thousands of technical websites makes self-help support readily available to any technician with an internet connection. Microsoft's support website is also fairly robust, but I find using a popular search engine often returns knowledgebase articles more quickly that Microsoft's search.
Make sure that you have detailed processes in place for every server instance you plan to install/upgrade, if possible get the base OS loaded and Windows Updates applied ahead of time, and if using a VM take a snapshot prior to installing each role, as well as along the way.
Before swapping to FreeNAS, we'd been using plan old Linux servers running Samba and NFS with ZFS storage underneath. This worked really well for our requirements at the time but required a lot of administration when new versions came along, or new users had to be added or drives needed replacing, and so on. FreeNAS did away with 95% of that work and does a much better job too.
Windows Server is more cost-effective and skills are easier to find to support the products. The deployment and management of the product can be automated with Microsoft SCCM. In my opinion, Linux seems to be more secured but takes more time and effort to learn than Windows Server. However, there are more Windows Server skills available in the job market.