ConnectionOptions options = new ConnectionOptions();
options.Username = <<DomainNam>>\<<UserName>>;
options.Password = <<Password>>;
ManagementScope scope = new ManagementScope("\\\\" + <<ServerName>> + "\\root\\cimv2", options);
scope.Connect();
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Product");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection = searcher.Get();
foreach (ManagementObject m in queryCollection)
{
Softwares lstTemp = new Softwares();
lstTemp.Name = m["Name"].ToString();
lstTemp.Version = m["Version"].ToString();
lstItems.Add(lstTemp);
}