using mamagementobjects

This commit is contained in:
Martijn Scheepers
2023-11-22 10:43:28 +01:00
parent 35515c0571
commit 18ac243954

View File

@@ -35,9 +35,11 @@ namespace UCS.Telemetry
if (_OsVersionWMI != string.Empty) return _OsVersionWMI;
try
{
ManagementObject mo = new ManagementObject(@"\\.\root\cimv2:Win32_OperatingSystem=@");
_OsVersionWMI = mo["Version"].ToString();
return _OsVersionWMI;
using (ManagementObject mo = new ManagementObject(@"\\.\root\cimv2:Win32_OperatingSystem=@"))
{
_OsVersionWMI = mo["Version"].ToString();
return _OsVersionWMI;
}
}
catch (ManagementException e)
{
@@ -52,9 +54,11 @@ namespace UCS.Telemetry
if (_OsCaptionWMI != string.Empty) return _OsCaptionWMI;
try
{
ManagementObject mo = new ManagementObject(@"\\.\root\cimv2:Win32_OperatingSystem=@");
_OsCaptionWMI = mo["Caption"].ToString();
return _OsCaptionWMI;
using (ManagementObject mo = new ManagementObject(@"\\.\root\cimv2:Win32_OperatingSystem=@"))
{
_OsCaptionWMI = mo["Caption"].ToString();
return _OsCaptionWMI;
}
}
catch (ManagementException e)
{
@@ -69,12 +73,14 @@ namespace UCS.Telemetry
if (_ComputerModelWMI != string.Empty) return _ComputerModelWMI;
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_ComputerSystem");
foreach (ManagementObject queryObj in searcher.Get())
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_ComputerSystem"))
{
_ComputerModelWMI = $"{queryObj["Manufacturer"]} {queryObj["Model"]}";
foreach (ManagementObject queryObj in searcher.Get())
{
_ComputerModelWMI = $"{queryObj["Manufacturer"]} {queryObj["Model"]}";
}
return _ComputerModelWMI;
}
return _ComputerModelWMI;
}
catch (ManagementException e)
{
@@ -89,12 +95,14 @@ namespace UCS.Telemetry
if (_ProcessorName != string.Empty) return _ProcessorName;
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");
foreach (ManagementObject queryObj in searcher.Get())
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor"))
{
_ProcessorName = queryObj["Name"].ToString();
foreach (ManagementObject queryObj in searcher.Get())
{
_ProcessorName = queryObj["Name"].ToString();
}
return _ProcessorName;
}
return _ProcessorName;
}
catch (ManagementException e)
{
@@ -109,12 +117,14 @@ namespace UCS.Telemetry
if (_PhysicalMemoryWMI.Count != 0) return _PhysicalMemoryWMI;
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_PhysicalMemory");
foreach (ManagementObject queryObj in searcher.Get())
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_PhysicalMemory"))
{
_PhysicalMemoryWMI.Add($"{queryObj["Manufacturer"]} {queryObj["PartNumber"]}");
foreach (ManagementObject queryObj in searcher.Get())
{
_PhysicalMemoryWMI.Add($"{queryObj["Manufacturer"]} {queryObj["PartNumber"]}");
}
return _PhysicalMemoryWMI;
}
return _PhysicalMemoryWMI;
}
catch (ManagementException e)
{
@@ -128,15 +138,17 @@ namespace UCS.Telemetry
public static string GetVideoControllerDescriptionWMI()
{
if (_VideoControllerDescriptionWMI != string.Empty) return _VideoControllerDescriptionWMI;
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_VideoController");
foreach (ManagementObject queryObj in searcher.Get())
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_VideoController"))
{
_VideoControllerDescriptionWMI = queryObj["Description"].ToString();
foreach (ManagementObject queryObj in searcher.Get())
{
_VideoControllerDescriptionWMI = queryObj["Description"].ToString();
}
return _VideoControllerDescriptionWMI;
}
return _VideoControllerDescriptionWMI;
}
catch (ManagementException e)
{
@@ -150,29 +162,30 @@ namespace UCS.Telemetry
List<String> monitors = new List<string>();
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM WmiMonitorID");
foreach (ManagementObject queryObj in searcher.Get())
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM WmiMonitorID"))
{
var monitorNameArray = (UInt16[])queryObj["UserFriendlyName"];
monitorNameArray = monitorNameArray.Where(val => val != 0).ToArray();
string monitorName = "";
foreach (var chr in monitorNameArray)
foreach (ManagementObject queryObj in searcher.Get())
{
monitorName += Convert.ToChar(chr);
}
var monitorNameArray = (UInt16[])queryObj["UserFriendlyName"];
monitorNameArray = monitorNameArray.Where(val => val != 0).ToArray();
string monitorName = "";
foreach (var chr in monitorNameArray)
{
monitorName += Convert.ToChar(chr);
}
var serialArray = (UInt16[])queryObj["SerialNumberID"];
serialArray = serialArray.Where(val => val != 0).ToArray();
string serial = "";
foreach (var chr in serialArray)
{
serial += Convert.ToChar(chr);
}
var serialArray = (UInt16[])queryObj["SerialNumberID"];
serialArray = serialArray.Where(val => val != 0).ToArray();
string serial = "";
foreach (var chr in serialArray)
{
serial += Convert.ToChar(chr);
}
monitors.Add($"{monitorName} S/N:{serial}");
monitors.Add($"{monitorName} S/N:{serial}");
}
return monitors;
}
return monitors;
}
catch (ManagementException e)
{
@@ -194,12 +207,14 @@ namespace UCS.Telemetry
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS");
foreach (ManagementObject queryObj in searcher.Get())
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS"))
{
_BIOSVersionWMI = queryObj["SMBIOSBIOSVersion"].ToString();
foreach (ManagementObject queryObj in searcher.Get())
{
_BIOSVersionWMI = queryObj["SMBIOSBIOSVersion"].ToString();
}
return _BIOSVersionWMI;
}
return _BIOSVersionWMI;
}
catch (ManagementException e)
{
@@ -222,7 +237,7 @@ namespace UCS.Telemetry
{
usbDisks.Add($"{usbDisk.Name} - {usbDisk.VolumeLabel}");
}
}
}
return usbDisks;
}
}