This documentation is archived and is not being maintained.

ManagementClass Constructor (ManagementScope, ManagementPath, ObjectGetOptions)

Initializes a new instance of the ManagementClass class for the specified WMI class in the specified scope and with the specified options. The class represents a Common Information Model (CIM) management class from WMI such as Win32_LogicalDisk, which can represent a disk drive, and Win32_Process, which represents a process such as Notepad.exe. For more information, see "Win32 Classes" in the Windows Management Instrumentation documentation in the MSDN Library at

Namespace:  System.Management
Assembly:  System.Management (in System.Management.dll)

public ManagementClass(
	ManagementScope scope,
	ManagementPath path,
	ObjectGetOptions options


Type: System.Management.ManagementScope
A ManagementScope that specifies the scope (server and namespace) where the WMI class resides.
Type: System.Management.ManagementPath
A ManagementPath that represents the path to the WMI class in the specified scope. The class represents a CIM management class from WMI. CIM classes represent management information including hardware, software, processes, and so on. For more information about the CIM classes available in Windows, see "Win32 classes" in the Windows Management Instrumentation documentation in the MSDN Library at
Type: System.Management.ObjectGetOptions
An ObjectGetOptions that specifies the options to use when retrieving the WMI class.

The path can be specified as a full path (including server and namespace). However, if a scope is specified, it will override the first portion of the full path.

.NET Framework Security

Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.

The following example is an example of how to initialize a ManagementClass variable with a ManagementClass constructor. The example lists the methods, properties, and qualifiers (including the amended qualifiers) for the created class. You must change the scope (namespace) in the code for the example to run correctly on your computer.

using System;
using System.Management;

public class Sample 
    public static void Main() 

        // Get the WMI class
        ManagementScope s = 
            new ManagementScope("\\\\MyBox\\root\\cimv2");
        ManagementPath p = new ManagementPath("Win32_Environment");
        ObjectGetOptions o = new ObjectGetOptions(
            null, System.TimeSpan.MaxValue, true);
        ManagementClass c = new ManagementClass(s, p, o);

        // Get the methods in the class
        MethodDataCollection methods =

        // display the methods
        Console.WriteLine("Method Names: ");
        foreach (MethodData method in methods)

        // Get the properties in the class
        PropertyDataCollection properties =

        // display the properties
        Console.WriteLine("Property Names: ");
        foreach (PropertyData property in properties)

        // Get the Qualifiers in the class
        QualifierDataCollection qualifiers =

        // display the qualifiers
        Console.WriteLine("Qualifier Names: ");
        foreach (QualifierData qualifier in qualifiers)


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.