Dela via


Anropa en WMI-klassmetod med hjälp av System.Management

Om du vill anropa en WMI-klassmetod (Windows Management Instrumentation) i Configuration Manager anropar InvokeMethod du WMI-klassens ManagementClass.

Anropa en WMI-klassmetod

  1. Konfigurera en anslutning till Configuration Manager klientens WMI-namnområde. Mer information finns i How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management .

  2. Skapa en ManagementClass med hjälp av sökvägen ManagementScope som du får i steg ett och även namnet på den klass som du vill anropa en metod för.

  3. Skapa en ManagementBaseObject och ange valfria parametrar för metoden.

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

  5. Med hjälp av den returnerade ManagementBaseObjectvisar du 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. Sedan ställs den tilldelade platsen tillbaka 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.

Kompilera koden

Namnområden

System

System.Management

Församlingen

System.Management

Robust programmering

Undantaget som kan aktiveras är System.Management.ManagementException.

Se även

Om Configuration Manager WMI-programmering
Anropa en WMI-klassmetod med hjälp av System.Management
Ansluta 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
Läsa ett WMI-objekt med hjälp av System.Management