public static TestConnectionResult TestConnection(string machineName) { RegistryKey hive = null; try { hive = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, machineName, RegistryView.Registry64); hive.OpenSubKey("Software"); return(new TestConnectionResult() { Successful = true }); } catch (IOException io) { return(new TestConnectionResult() { Successful = false, Exception = io, Message = io.Message, ErrorCode = ErrorCodes.IO_EXCEPTION }); } catch (SecurityException se) { return(new TestConnectionResult() { Successful = false, Exception = se, Message = se.Message, ErrorCode = ErrorCodes.SECURITY_EXCEPTION }); } catch (UnauthorizedAccessException ue) { return(new TestConnectionResult() { Successful = false, Exception = ue, Message = ue.Message, ErrorCode = ErrorCodes.UNAUTHORIZED_ACCESS_EXCEPTION }); } catch (Exception ex) { return(new TestConnectionResult() { Exception = ex, Successful = false, Message = ex.Message, ErrorCode = ErrorCodes.GENERIC_EXCEPTION }); } finally { hive?.Close(); } }
public static RegistryEntriesResult GetRegistryEntries(RegistryHive registryHive, string rootKey, string machineName) { RegistryKey hive = null; try { hive = RegistryKey.OpenRemoteBaseKey(registryHive, machineName, RegistryView.Registry64); var entries = GetRegistryEntries(rootKey, hive); return(new RegistryEntriesResult() { Successful = true, RegistryEntries = entries ?? new List <RegistryEntry>(), ErrorCode = ErrorCodes.EMPTY }); } catch (IOException io) { return(new RegistryEntriesResult() { Successful = false, Exception = io, Message = io.Message, RegistryEntries = new List <RegistryEntry>(), ErrorCode = ErrorCodes.IO_EXCEPTION }); } catch (SecurityException se) { return(new RegistryEntriesResult() { Successful = false, Exception = se, Message = se.Message, RegistryEntries = new List <RegistryEntry>(), ErrorCode = ErrorCodes.SECURITY_EXCEPTION }); } catch (UnauthorizedAccessException ue) { return(new RegistryEntriesResult() { Successful = false, Exception = ue, Message = ue.Message, RegistryEntries = new List <RegistryEntry>(), ErrorCode = ErrorCodes.UNAUTHORIZED_ACCESS_EXCEPTION }); } catch (Exception ex) { return(new RegistryEntriesResult() { Successful = false, Exception = ex, Message = ex.Message, RegistryEntries = new List <RegistryEntry>(), ErrorCode = ErrorCodes.GENERIC_EXCEPTION }); } finally { hive?.Close(); } }