Freigeben über


Aktivieren der Softwareinventur

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

So aktivieren oder deaktivieren Sie den Softwareinventur-Updates-Client-Agent

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

  2. Stellen Sie eine Verbindung mit dem Abschnitt Software Inventory Client Agent der Standortsteuerungsdatei her, indem Sie die klasse SMS_SCI_ClientComp verwenden.

  3. Durchlaufen Sie das Array der verfügbaren Eigenschaften, und nehmen Sie nach Bedarf Änderungen vor.

  4. Committen Sie die Änderungen an der Websitesteuerungsdatei.

Beispiel

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

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


Sub EnableDisableSoftwareInventoryClientAgent(swbemServices, swbemContext, enableDisableFlag, siteCode )  

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

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

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

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

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

    ' Display the 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 EnableDisableSoftwareInventoryClientAgent(WqlConnectionManager connection,  
                                                      string enableDisableFlag,  
                                                      string siteCode)  
{  
    try  
    {  
        IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Software Inventory 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 Inventory 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
- swbemServices
-Verwalteten: 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 -Verwalteten: String
-Vbscript: String
Der Standortcode.
enableDisableFlag -Verwalteten: String
-Vbscript: String
Bestimmt, ob der Softwareinventur-Client-Agent 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 Kit
Informationen zu Configuration Manager Inventory
Informationen zur Configuration Manager-Websitesteuerungsdatei
Lesen und Schreiben in die Configuration Manager-Websitesteuerungsdatei mithilfe von verwaltetem Code
Lesen und Schreiben in die Configuration Manager Site Control-Datei mithilfe von WMI
WMI-Klasse des SMS_SCI_Component-Servers