Freigeben über


Aktivieren oder Deaktivieren der Softwaremessung

Sie aktivieren oder deaktivieren den Client-Agent für die Softwaremessung in Configuration Manager, indem Sie die Einstellungen für die Standortsteuerungsdatei ändern.

Tipp

Weitere Informationen zum Ändern von Clienteinstellungen finden Sie unter Anwenden von benutzerdefinierten Clienteinstellungen.

So aktivieren oder deaktivieren Sie den Client-Agent für die Softwaremessung

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.

  2. Stellen Sie eine Verbindung mit dem Abschnitt Softwaremessungsclient-Agent der Standortsteuerungsdatei her, indem Sie die klasse SMS_SCI_ClientComp verwenden.

  3. Loop durch das Array der verfügbaren Eigenschaften und nehmen nach Bedarf Änderungen vor.

  4. Committen Sie die Änderungen an der Websitesteuerungsdatei.

Beispiel

Die folgende Beispielmethode aktiviert oder deaktiviert den Client-Agent für die Softwaremessung mithilfe der klasse SMS_SCI_ClientComp , um eine Verbindung mit der Standortsteuerungsdatei herzustellen und die Eigenschaften zu ändern.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.


Sub EnableDisableSWMClientAgent(swbemServices,     _
                                swbemContext,      _
                                enableDisableFlag, _
                                siteToChange )

    ' Load site control file and get SWM client component section.
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Refresh", , , swbemContext
    Set objSWbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteToChange & "',ItemName='Software Metering Agent'", , swbemContext)

    ' Display SWM client agent settings before change
    Wscript.Echo " "
    Wscript.Echo "Properties - Before Change"
    Wscript.Echo "---------------------------"
    Wscript.Echo objSWbemInst.ClientComponentName
    Wscript.Echo objSWbemInst.Flags & " (0 = Disabled, 1 = Enabled)"

    ' Set SWM client agent by setting Flags value to  0 or 1 using the enableDisableFlag variable.
    objSWbemInst.Flags = enableDisableFlag

    ' Save new client agent settings.
    objSWbemInst.Put_ , swbemContext
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Commit", , , swbemContext

    ' Refresh in-memory copy of the site control file and get the client component section.
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteToChange & """", "Refresh", , , swbemContext
    Set objSWbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteToChange & "',ItemName='Software Metering Agent'", , swbemContext)

    ' Display SWM client agent settings after change.
    Wscript.Echo " "
    Wscript.Echo "Properties - After Change"
    Wscript.Echo "---------------------------"
    Wscript.Echo objSWbemInst.ClientComponentName
    Wscript.Echo objSWbemInst.Flags & " (0 = Disabled, 1 = Enabled)"

End Sub


public void EnableDisableSWMClientAgent(WqlConnectionManager connection,
                                        string siteCode,
                                        string enableDisableFlag)

{
    try
    {
        IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Software Metering Agent'");

        // Display client agent settings before changing the properties.
        Console.WriteLine();
        Console.WriteLine("Properties - Before Change");
        Console.WriteLine("---------------------------");
        Console.WriteLine(siteDefinition["ClientComponentName"].StringValue);
        Console.WriteLine(siteDefinition["Flags"].StringValue + " (0 = Disabled, 1 = Enabled)");

        // Set client agent by setting "Flags" value to 0 or 1 by using the enableDisableFlag variable.
        siteDefinition["Flags"].StringValue = enableDisableFlag;

        // Save the settings.
        siteDefinition.Put();

        // Verify the change by reconnecting and getting the value again.
        IResultObject siteDefinition2 = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Software Metering Agent'");

        // Display client agent settings after changing the properties.
        Console.WriteLine();
        Console.WriteLine("Properties - After Change");
        Console.WriteLine("--------------------------");
        Console.WriteLine(siteDefinition2["ClientComponentName"].StringValue);
        Console.WriteLine(siteDefinition2["Flags"].StringValue + " (0 = Disabled, 1 = Enabled)");
    }

    catch (SmsException ex)
    {
        Console.WriteLine("Failed. Error: " + ex.InnerException.Message);
        throw;
    }

}

Die Beispielmethode verfügt über die folgenden Parameter:

Parameter Typ Beschreibung
connection -Gehandhabt: WqlConnectionManager
– VBScript: SWbemServices
Eine gültige Verbindung mit dem SMS-Anbieter.
swbemContext – VBScript: SWbemContext Ein gültiges Kontextobjekt. Weitere Informationen finden Sie unter Hinzufügen eines Configuration Manager Kontextqualifizierers mithilfe von WMI.
siteCode -Gehandhabt: String
– VBScript: String
Der Standortcode.
enableDisableFlag -Gehandhabt: String
– VBScript: String
Bestimmt, ob der Client-Agent für die Softwaremessung aktiviert oder deaktiviert ist.

0 – Deaktiviert

1 – Aktiviert

Kompilieren des Codes

Für dieses C#-Beispiel ist Folgendes erforderlich:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

Configuration Manager Software Development KitInformationen zur Configuration Manager Site Control-DateiLesen und Schreiben in die Configuration Manager Websitesteuerungsdatei mithilfe von verwaltetem CodeLesen und Schreiben in die Configuration Manager der Standortsteuerungsdatei mithilfe derWMI-SMS_SCI_Component-Serverklasse