Reading Remote Registry


public static string ConnectToRegistry (string servername) 
{ 

string regKeyToGet, keyToRead; 

ConnectionOptions oConn = new ConnectionOptions(); 
oConn.Username = "admin"; 
oConn.Password = "pass"; 
ManagementScope scope = new ManagementScope(@"//" + servername + @"/root/default", oConn); 
registry = new ManagementClass(scope, new ManagementPath("StdRegProv"), null); 

// Returns a specific value for a specified key 
ManagementBaseObject inParams = registry.GetMethodParameters("GetStringValue"); 
inParams["sSubKeyName"] = regKeyToGet; 
inParams["sValueName"] = keyToRead; 
ManagementBaseObject outParams = registry.InvokeMethod("GetStringValue", inParams, null); 

return outParams["sValue"].ToString(); 

}