Simple remote wmi query method.
internal static List GetWmiQuery (string userName, string passWord, string hostname, string query) {
var results = new List();
var opts = new ConnectionOptions();
opts.Username = userName;
opts.Password = passWord;
opts.EnablePrivileges = true;
var manScope = new ManagementScope(String.Format(@"\\{0}\root\cimv2", hostname), opts);
var WMIQuery = new ObjectQuery(query);
var WMIResult = new ManagementObjectSearcher(manScope, WMIQuery);
foreach (ManagementObject oItem in WMIResult.Get()) {
results.Add(oItem);
}
return results;
}