기본 준수 평가 일정을 구성하는 방법How to Configure the Default Compliance Evaluation Schedule

Configuration Manager에서 사이트 제어 파일은 사이트의 구성에 대 한 구성을 유지 관리 합니다.In Configuration Manager, the site control file maintains configuration for the configuration of the site. 다음 코드 샘플에서는 특정 사이트 제어 파일 항목 구성 관리 에이전트에 대 한 쿼리를 실행 하 고 EvaluationSchedule 값을 변경 하 여 클라이언트 에이전트 평가 일정을 설정 합니다.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.

기본 준수 평가 일정을 구성 하려면To configure the Default Compliance Evaluation Schedule

  1. SMS 공급자에 대한 연결을 설정합니다.Set up a connection to the SMS Provider.

  2. SMS_SCI_ClientComp 클래스를 사용 하 여 사이트 제어 파일의 Desired Configuration Management Client Agent 섹션에 연결 합니다.Make a connection to the Desired Configuration Management Client Agent section of the site control file by using the SMS_SCI_ClientComp class.

  3. 사용 가능한 속성의 배열을 반복 하 여 필요에 따라 변경 합니다.Loop through the array of available properties, making changes as needed.

  4. 사이트 제어 파일에 대 한 변경 내용을 커밋합니다.Commit the changes to the site control file.

예제Example

다음 코드 예제에서는 구성 관리 클라이언트 에이전트에 대 한 기본 준수 평가 일정을 변경 하는 방법을 보여 줍니다.The following code example shows how to change the default compliance evaluation schedule for the configuration management client agent.

샘플 코드를 호출하는 방법에 대한 자세한 내용은 Configuration Manager 코드 조각 호출을 참조하세요.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;  
    }  

}  

예제 메서드에는 다음과 같은 매개 변수가 포함되어 있습니다.The example method has the following parameters:

매개 변수Parameter TypeType DescriptionDescription
connection - 관리 코드: WqlConnectionManager- Managed: WqlConnectionManager
- VBScript: SWbemServices- VBScript: SWbemServices
SMS 공급자에 대한 유효한 연결입니다.A valid connection to the SMS Provider.
swbemContext - VBScript: SWbemContext- VBScript: SWbemContext 유효한 컨텍스트 개체입니다.A valid context object. 자세한 내용은 WMI를 사용 하 여 Configuration Manager 컨텍스트 한정자를 추가 하는 방법을 참조 하세요.For more information, see How to Add a Configuration Manager Context Qualifier by Using WMI.
siteCode - 관리 코드: String- Managed: String
- VBScript: String- VBScript: String
사이트 코드입니다.The site code.
newAgentSchedule - 관리 코드: String- Managed: String
- VBScript: String- VBScript: String
문자열 형식의 새 일정입니다.The new schedule in string format. 자세한 내용은 일정 정보를 참조 하세요.For more information, see About schedules.

코드 컴파일Compiling the Code

네임스페이스Namespaces

시스템System

System.Collections.GenericSystem.Collections.Generic

System.ComponentModelSystem.ComponentModel

Microsoft.ConfigurationManagement.ManagementProviderMicrosoft.ConfigurationManagement.ManagementProvider

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

어셈블리Assembly

adminui.wqlqueryengineadminui.wqlqueryengine

microsoft.configurationmanagement.managementprovidermicrosoft.configurationmanagement.managementprovider

강력한 프로그래밍Robust Programming

오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.For more information about error handling, see About Configuration Manager Errors.

.NET Framework 보안.NET Framework Security

Configuration Manager 응용 프로그램을 보호 하는 방법에 대 한 자세한 내용은 역할 기반 관리 Configuration Manager를 참조 하세요.For more information about securing Configuration Manager applications, see Configuration Manager role-based administration.

참고 항목See Also

준수 설정 (DCM) 설정 및 구성 정보 About Compliance Settings (DCM) Setup and Configuration
Configuration Manager 사이트 제어 파일 정보 About the Configuration Manager Site Control File
관리 코드를 사용 하 여 Configuration Manager 사이트 제어 파일을 읽고 쓰는 방법 How to Read and Write to the Configuration Manager Site Control File by Using Managed Code
WMI를 사용 하 여 Configuration Manager 사이트 제어 파일을 읽고 쓰는 방법 How to Read and Write to the Configuration Manager Site Control File by Using WMI
SMS_SCI_ClientComp 서버 WMI 클래스 SMS_SCI_ClientComp Server WMI Class
일정 정보 일정 토큰을 만드는 방법About schedules How to Create a Schedule Token