private void SaveExecutionResult(string name, ExecutionResult res, DateTime started, DateTime ended) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("ResultCode={0}|", res.ResultCode); builder.AppendFormat("RebootRequired={0}|", res.RebootRequired); builder.AppendFormat("ErrorMessage={0}|", res.ErrorMessage); builder.AppendFormat("Value={0}|", res.Value); builder.AppendFormat("Started={0}|", started.ToString("yyyyMMddHHmmss")); builder.AppendFormat("Ended={0}", started.ToString("yyyyMMddHHmmss")); RegistryUtils.SetRegistryKeyStringValue(RegistryOutputKey, name, builder.ToString()); }
private void GetSystemSummary() { const UInt64 Size1KB = 0x400; const UInt64 Size1GB = 0x40000000; // check free/total RAM WmiUtils wmi = new WmiUtils("root\\cimv2"); ManagementObjectCollection objOses = wmi.ExecuteQuery("SELECT * FROM Win32_OperatingSystem"); foreach (ManagementObject objOs in objOses) { UInt64 freeRam = Convert.ToUInt64(objOs["FreePhysicalMemory"]) / Size1KB; UInt64 totalRam = Convert.ToUInt64(objOs["TotalVisibleMemorySize"]) / Size1KB; // write to the registry RegistryUtils.SetRegistryKeyStringValue(RegistryOutputKey, RAM_SUMMARY_KEY, String.Format("{0}:{1}", freeRam, totalRam)); objOs.Dispose(); } // check local HDD logical drives ManagementObjectCollection objDisks = wmi.ExecuteQuery("SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3"); StringBuilder sb = new StringBuilder(); bool first = true; foreach (ManagementObject objDisk in objDisks) { if (!first) { sb.Append(";"); } sb.Append(objDisk["DeviceID"]); sb.Append(Convert.ToInt32(Convert.ToDouble(objDisk["FreeSpace"]) / (double)Size1GB)).Append(":"); sb.Append(Convert.ToInt32(Convert.ToDouble(objDisk["Size"]) / (double)Size1GB)); first = false; objDisk.Dispose(); } // write HDD info RegistryUtils.SetRegistryKeyStringValue(RegistryOutputKey, HDD_SUMMARY_KEY, sb.ToString()); // dispose resources objOses.Dispose(); objDisks.Dispose(); }
private void ChangeMACAddress(string adapterId, string mac) { string[] sets = RegistryUtils.GetRegistrySubKeys(RegistryKey); foreach (string set in sets) { string key = string.Format("{0}\\{1}", RegistryKey, set); string netCfgInstanceId = RegistryUtils.GetRegistryKeyStringValue(key, "NetCfgInstanceId"); if (netCfgInstanceId == adapterId) { Log.WriteStart("Changing MAC address..."); RegistryUtils.SetRegistryKeyStringValue(key, "NetworkAddress", mac); Log.WriteEnd("MAC address has been changed successfully"); break; } } }