por supuesto haciendo uso de la api de windows, o tambien con los builtins del lenguaje, por ejemlpo en lenguajes .net:
System.Environment.OSVersion
Tambien es posible haciendo uso del registro del sistema:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
alli hay mas informacion, como por ejemplo el nombre del sistema operativo, el numero de version de compilacion , la version del sistema operativo etc.
Otra opcion es usando la varible de entorno OS por line a de comandos:
aunque no es muy precisa que digamos.
Otra opcion, la mejor, es usar la....
bueno mejor te dejo un link para ganar tiempo:
MSDN