string strComputer = "ComputerName";
string strUser = "UserName";
string strPassword = "UserPassword";
string strDomain = "DomainName";
SecureString securepassword = new SecureString();
foreach (char c in strPassword)
{
securepassword.AppendChar(c);
}
CimCredential Credentials = new CimCredential(PasswordAuthenticationMechanism.Kerberos, strDomain, strUser, securepassword);
WSManSessionOptions SessionOptions = new WSManSessionOptions() { DestinationPort = 5985 };
SessionOptions.AddDestinationCredentials(Credentials);
CimSession SystemSession = CimSession.Create(strComputer, SessionOptions);
bool Connected = SystemSession.TestConnection(out CimInstance TmpInstance, out CimException TmpExeption);
UInt32 RegRoot = 2147483650;
CimMethodParametersCollection CimParams = new CimMethodParametersCollection();
CimParams.Add(CimMethodParameter.Create("hDefKey", RegRoot, CimFlags.In));
CimParams.Add(CimMethodParameter.Create("sSubKeyName", @"SOFTWARE\Microsoft\Windows NT\CurrentVersion", CimFlags.In));
CimParams.Add(CimMethodParameter.Create("sValueName", "UBR", CimFlags.In));
CimMethodResult NameResults = SystemSession.InvokeMethod(new CimInstance("StdRegProv", @"root\default"), "GetDWORDValue", CimParams);
string strUBR_RegistryValue = NameResults.OutParameters["uValue"].Value.ToString();