¿cómo detecto el sistema operativo del usuario

Tengo el siguiente código para obtener detalles del usuario:

HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;
string UserAgent = HttpContext.Current.Request.UserAgent;

ENT_TrackingData ret = new ENT_TrackingData()
{
    IPAddress = HttpContext.Current.Request.UserHostAddress,
    Browser = bc.Browser + " " + bc.Version,                
    DateStamp = DateTime.Now,
    PageViewed = HttpContext.Current.Request.Url.AbsolutePath,
    NodeId = UmbracoHelper.GetCurrentNodeID(),
    IsMobileDevice = IsMobileDevice(UserAgent),
    Platform = bc.Platform
};

Esto funciona muy bien, pero noté que la Plataforma siempre dice Windows NT para mi máquina, no Windows 7. ¿Hay alguna forma de detectar este tipo de información en ASP.Net

Respuestas a la pregunta(22)

Su respuesta a la pregunta