PACKAGE.md 2.5 KB

About

Provides access to a rich set of management information and management events about the system, devices, and applications instrumented to the Windows Management Instrumentation (WMI) infrastructure. Not supported on other platforms.

Key Features

  • Consume Windows Management Instrumentation (WMI) data and events
  • High performance extensible event mechanism

How to Use

Retrieve management information

using System.Management;

// Get the WMI class
ManagementClass managementClass = new("Win32_Processor");

// Loop through the WMI class instances and print the processor information found
foreach (ManagementObject managementObject in managementClass.GetInstances())
{
    Console.WriteLine("--- Processor information ---");
    Console.WriteLine($"Name: {managementObject["Name"]}");
    Console.WriteLine($"Architecture: {managementObject["Architecture"]}");
}

Query management information via the SelectQuery type

using System.Management;

// Search for win32 services with a stopped state
SelectQuery selectQuery = new("Win32_Service", "State = 'Stopped'");
ManagementObjectSearcher managementObjectSearcher = new(selectQuery);

foreach (ManagementObject service in managementObjectSearcher.Get())
{
    Console.WriteLine(service.ToString());
}

Main Types

The main types provided by this library are:

  • System.Management.ManagementClass
  • System.Management.ManagementObject
  • System.Management.SelectQuery

Additional Documentation

Feedback & Contributing

System.Management is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.