自分の環境内のいくつかのサーバーから複数の情報を取得したい。WMI - 複数の情報を照会
このコードは動作していますが、このコードは情報を取得するのに適していますか?
リクエストごとに「new ManagementObjectSearcher」と呼んでも構いませんか?それは、サーバーへのたびに接続し、それがオーバーヘッドになるよう
ManagementObjectSearcher cpuUsage = new ManagementObjectSearcher
("\\\\" + strComputer + "\\root\\CIMV2",
"SELECT * FROM Win32_Processor");
foreach (ManagementObject queryObj in cpuUsage.Get())
{
Console.WriteLine("LoadPercentage: {0}", queryObj["LoadPercentage"]);
}
ManagementObjectSearcher totalRAM = new ManagementObjectSearcher
("\\\\" + strComputer + "\\root\\CIMV2",
"SELECT * FROM Win32_ComputerSystem");
foreach (ManagementObject queryObj in totalRAM.Get())
{
Console.WriteLine("TotalPhysicalMemory: {0}", queryObj["TotalPhysicalMemory"]);
}
ManagementObjectSearcher freeRAM = new ManagementObjectSearcher
("\\\\" + strComputer + "\\root\\CIMV2",
"SELECT * FROM Win32_PerfFormattedData_PerfOS_Memory");
foreach (ManagementObject queryObj in freeRAM.Get())
{
Console.WriteLine("AvailableMBytes: {0}", queryObj["AvailableMBytes"]);
}