ManagementObject.InvokeMethod Method (String, ManagementBaseObject, InvokeMethodOptions)


Invokes a method on the WMI object. The input and output parameters are represented as ManagementBaseObject objects.

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

public ManagementBaseObject InvokeMethod(
	string methodName,
	ManagementBaseObject inParameters,
	InvokeMethodOptions options


Type: System.String

The name of the method to execute.

Type: System.Management.ManagementBaseObject

A ManagementBaseObject holding the input parameters to the method.

Type: System.Management.InvokeMethodOptions

An InvokeMethodOptions containing additional options for the execution of the method.

Return Value

Type: System.Management.ManagementBaseObject

A ManagementBaseObject containing the output parameters and return value of the executed method.

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 invokes the Win32_Process::Create method to start a new process of Calc.exe.

using System;
using System.Management;

// This sample demonstrates invoking 
// a WMI method using parameter objects
public class InvokeMethod 
    public static void Main() 

        // Get the object on which the method will be invoked
        ManagementClass processClass = 
            new ManagementClass("Win32_Process");

        // Get an input parameters object for this method
        ManagementBaseObject inParams =

        // Fill in input parameter values
        inParams["CommandLine"] = "calc.exe";

        // Execute the method
        ManagementBaseObject outParams =
            processClass.InvokeMethod ("Create",
            inParams, null);

        // Display results
        // Note: The return code of the method is
        // provided in the "returnValue" property
        // of the outParams object
            "Creation of calculator process returned: "
            + outParams["returnValue"]);
        Console.WriteLine("Process ID: " 
            + outParams["processId"]);

.NET Framework
Available since 1.1
Return to top