Så här anropar du en WMI-klassmetod med hjälp av System.Management

Om du vill anropa en klientmetod för WMI-klassmetoden (Windows Management Instrumentation) i Configuration Manager anropar InvokeMethod du WMI-klassens ManagementClass.

Så här anropar du en WMI-klassmetod

  1. Konfigurera en anslutning till Configuration Manager klientens WMI-namnområde. Mer information finns i Så här ansluter du till Configuration Manager-klientens WMI-namnområde med hjälp av System.Management.

  2. Skapa en ManagementClass med hjälp av den ManagementScope sökväg som du fick i steg ett, och även namnet på klassen som du vill anropa en metod på.

  3. Skapa en ManagementBaseObject och ange eventuella in-parametrar för metoden.

  4. Anropa metoden med hjälp av ManagementClass object InvokeMethod metoden.

  5. Med hjälp av den returnerade ManagementBaseObjectkan du visa de returnerade parametrarna.

Exempel

I följande C#-kodexempel anropas ISmsClient::GetAssignedSite metoden för att hämta den aktuella tilldelade platsen för klienten. Den anger sedan den tilldelade platsen till samma värde med hjälp av ISmsClient::SetAssignedSite metoden.

Information om hur du anropar exempelkoden finns i Så här anropar du en WMI-klassmetod med hjälp av System.Management.


public void CallMethod(ManagementScope scope)  
{  
    try// Get the client's SMS_Client class.  
    {  
        ManagementClass cls = new ManagementClass(scope.Path.Path, "sms_client", null);  

        // Get current site code.  
        ManagementBaseObject outSiteParams = cls.InvokeMethod("GetAssignedSite", null, null);  

        // Display current site code.  
        Console.WriteLine(outSiteParams["sSiteCode"].ToString());  

        // Set up current site code as input parameter for SetAssignedSite.  
        ManagementBaseObject inParams = cls.GetMethodParameters("SetAssignedSite");  
        inParams["sSiteCode"] = outSiteParams["sSiteCode"].ToString();  

        // Assign the Site code.  
        ManagementBaseObject outMPParams = cls.InvokeMethod("SetAssignedSite", inParams, null);  
    }  
    catch (ManagementException e)  
    {  
        throw new Exception("Failed to execute method", e);  
    }  
}  

Den här exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
scope - ManagementScope En giltig anslutning till klientens WMI-provider. Sökvägen är root\ccm.

Kompilerar koden

Namnområden

System

System.Management

Montering

System.Management

Robust programmering

Undantaget som kan tas upp är System.Management.ManagementException.

Se även

Om Configuration Manager WMI-programmering
Så här anropar du en WMI-klassmetod med hjälp av System.Management
Så här ansluter du till Configuration Manager klientens WMI-namnområde med hjälp av System.Management
Så här utför du en asynkron fråga med hjälp av System.Management
Så här utför du en synkron fråga med hjälp av System.Management
Så här läser du ett WMI-objekt med hjälp av System.Management