Konfigurieren des Standardzeitplans für die KonformitäsbewertungHow to Configure the Default Compliance Evaluation Schedule

In Configuration Manager verwaltet die Standort Steuerungs Datei die Konfiguration für die Konfiguration des Standorts.In Configuration Manager, the site control file maintains configuration for the configuration of the site. Diese Codebeispiele Fragen nach dem Konfigurations Verwaltungs-Agent für den Standort Steuerungs Datei Element ab und ändern den evaluationschedule-Wert, um den Bewertungs Zeitplan für den Client-Agent festzulegen.These code samples query for the specific site control file item Configuration Management Agent, and change the EvaluationSchedule value to set the client agent evaluation schedule.

So konfigurieren Sie den Standard Zeitplan für die Kompatibilitäts BewertungTo configure the Default Compliance Evaluation Schedule

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.Set up a connection to the SMS Provider.

  2. Stellen Sie eine Verbindung mit dem Client-Agent für die Verwaltung gewünschter Konfigurationen der Standort Steuerungs Datei her, indem Sie die SMS_SCI_ClientComp -Klasse verwenden.Make a connection to the Desired Configuration Management Client Agent section of the site control file by using the SMS_SCI_ClientComp class.

  3. Durchlaufen Sie das Array der verfügbaren Eigenschaften, und nehmen Sie bei Bedarf Änderungen vor.Loop through the array of available properties, making changes as needed.

  4. Übertragen Sie die Änderungen an der Standort Steuerungs Datei.Commit the changes to the site control file.

BeispielExample

Im folgenden Codebeispiel wird gezeigt, wie Sie den Standard Zeitplan für die Kompatibilitäts Bewertung für den Konfigurations Verwaltungs Client-Agent ändern.The following code example shows how to change the default compliance evaluation schedule for the configuration management client agent.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager-Codeausschnitten.For information about calling the sample code, see Calling Configuration Manager Code Snippets.


Sub ChangeDCMAgentEvaluationSchedule(swbemServices,    _  
                                     swbemContext,     _  
                                     siteCode,         _  
                                     newAgentSchedule)  

    ' The evaluation schedule is defined by a string stored in a schedule token format.   
    ' Detailed information on the schedule token format can be found in the class SMS_ScheduleToken reference material.  

    ' Load site control file and get DCM client component section.  
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext  
Set swbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteCode & "',ItemName='Configuration Management Agent'", , swbemContext)  

    ' Loop through the array of embedded SMS_EmbeddedProperty instances for the   
    ' Number of Retries PropertyName. Get its value and display it.  
    For Each vProperty In swbemInst.Props  

        If vProperty.PropertyName = "EvaluationSchedule" Then  

            ' Display DCM client agent evaluation schedule before change.  
            Wscript.Echo " "  
            Wscript.Echo "Evaluation Schedule - Before Change"  
            Wscript.Echo "-----------------------------------"  
            Wscript.Echo vProperty.Value2  

            ' Set DCM client agent evaluation schedule using the newAgentSchedule variable.  
            vProperty.Value2 = newAgentSchedule  

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

        End If  
    Next  

    ' Refresh in-memory copy of the site control file and get the DCM client component section.  
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext  
Set swbemInst = Nothing  

Set swbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteCode & "',ItemName='Configuration Management Agent'", , swbemContext)  

    For Each vProperty In swbemInst.Props  

        If vProperty.PropertyName = "EvaluationSchedule" Then  

            ' Sisplay DCM client agent evaluation schedule before change.  
            Wscript.Echo " "  
            Wscript.Echo "Evaluation Schedule - After Change"  
            Wscript.Echo "----------------------------------"  
            Wscript.Echo vProperty.Value2  

        End If  
    Next  

End Sub  


public void ChangeDCMAgentEvaluationSchedule(WqlConnectionManager connection,  
                                             string siteCode,  
                                             string newAgentSchedule)  
{  

    // The evaluation schedule is defined by a string stored in a schedule token format.   
    // Detailed information on the schedule token format can be found in the class SMS_ScheduleToken reference material.  

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

        if (siteDefinition.EmbeddedProperties.ContainsKey("EvaluationSchedule"))  
        {  
            Dictionary<string, IResultObject> WorkingEmbeddedProperties = siteDefinition.EmbeddedProperties; //get temporary copy  

            // Display DCM client agent settings before change.  
            Console.WriteLine();  
            Console.WriteLine("DCM Client Agent Schedule - Before Change");  
            Console.WriteLine("-----------------------------------------");               
            Console.WriteLine("Schedule in token format: " + WorkingEmbeddedProperties["EvaluationSchedule"]["Value2"].StringValue);  

            // Set DCM client agent setting to new value.  
            WorkingEmbeddedProperties["EvaluationSchedule"]["Value2"].StringValue = newAgentSchedule;   
            siteDefinition.EmbeddedProperties = WorkingEmbeddedProperties;  

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

            // Verify change by reconnecting and getting the value again.  
            Dictionary<string, IResultObject> WorkingEmbeddedProperties2 = siteDefinition.EmbeddedProperties; //Get temporary copy for change verification.  

            // Display DCM client agent settings after change.  
            Console.WriteLine();  
            Console.WriteLine("DCM Client Agent Schedule - After Change");  
            Console.WriteLine("-----------------------------------------");  
            Console.WriteLine("Schedule in token format: " + WorkingEmbeddedProperties2["EvaluationSchedule"]["Value2"].StringValue);  

        }  
    }  

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

}  

Die Beispielmethode verfügt über die folgenden Parameter:The example method has the following parameters:

ParameterParameter typeType BESCHREIBUNGDescription
connection - Verwaltet: WqlConnectionManager- Managed: WqlConnectionManager
- VBScript: SWbemServices- VBScript: SWbemServices
Eine gültige Verbindung mit dem SMS-Anbieter.A valid connection to the SMS Provider.
swbemContext - VBScript: SWbemContext- VBScript: SWbemContext Ein gültiges Kontext Objekt.A valid context object. Weitere Informationen finden Sie unter Vorgehens Weise beim Hinzufügen eines Configuration Manager Kontext Qualifizierers mithilfe von WMI.For more information, see How to Add a Configuration Manager Context Qualifier by Using WMI.
siteCode - Verwaltet: String- Managed: String
- VBScript: String- VBScript: String
Der Standortcode.The site code.
newAgentSchedule - Verwaltet: String- Managed: String
- VBScript: String- VBScript: String
Der neue Zeitplan im Zeichen folgen Format.The new schedule in string format. Weitere Informationen finden Sie unter Informationen zu Zeitplänen.For more information, see About schedules.

Kompilieren des CodesCompiling the Code

NamespacesNamespaces

SystemSystem

System.Collections.GenericSystem.Collections.Generic

System.ComponentModelSystem.ComponentModel

Microsoft.ConfigurationManagement.ManagementProviderMicrosoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngineMicrosoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

AssemblyAssembly

adminui.wqlqueryengineadminui.wqlqueryengine

microsoft.configurationmanagement.managementprovidermicrosoft.configurationmanagement.managementprovider

Stabile ProgrammierungRobust Programming

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager-Fehlern.For more information about error handling, see About Configuration Manager Errors.

.NET Framework-Sicherheit.NET Framework Security

Weitere Informationen zum Sichern von Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.For more information about securing Configuration Manager applications, see Configuration Manager role-based administration.

Weitere InformationenSee Also

Informationen zu Setup und Konfiguration von Kompatibilitäts Einstellungen (DCM) About Compliance Settings (DCM) Setup and Configuration
Informationen zur Configuration Manager Standort Steuerungs Datei About the Configuration Manager Site Control File
Lesen und Schreiben in die Configuration Manager Standort Steuerungs Datei mithilfe von verwaltetem Code How to Read and Write to the Configuration Manager Site Control File by Using Managed Code
Lesen und Schreiben in die Configuration Manager Standort Steuerungs Datei mithilfe von WMI How to Read and Write to the Configuration Manager Site Control File by Using WMI
WMI-Klasse für den SMS_SCI_ClientComp Server SMS_SCI_ClientComp Server WMI Class
Informationen zu Zeitplänen Erstellen eines Zeit Plan TokensAbout schedules How to Create a Schedule Token