Add the method
public static bool IWindowsServerOver2012()
{
if (!IsWindowsServer()) return false;
var osVersion = Environment.OSVersion.Version;
return osVersion.Major > 6 || (osVersion.Major == 6 && osVersion.Minor >= 2);
}
OSVersions minor and major verions are get from https://stackoverflow.com/a/2819962/2313323
In order to get correct version using Environment.OSVersion it would be better to add an app.manifest to your application uncomment any suportedOs taht you want to use
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on and is
is designed to work with. Uncomment the appropriate elements and Windows will
automatically selected the most compatible environment. -->
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>