기본 준수 평가 일정을 구성하는 방법

Configuration Manager 사이트 제어 파일은 사이트 구성에 대한 구성을 유지 관리합니다. 이러한 코드 샘플은 특정 사이트 제어 파일 항목 구성 관리 에이전트를 쿼리하고 EvaluationSchedule 값을 변경하여 클라이언트 에이전트 평가 일정을 설정합니다.

기본 준수 평가 일정을 구성하려면

  1. SMS 공급자에 대한 연결을 설정합니다.

  2. SMS_SCI_ClientComp 클래스를 사용하여 사이트 제어 파일의 Desired Configuration Management 클라이언트 에이전트 섹션에 연결합니다.

  3. 사용 가능한 속성의 배열을 반복하여 필요에 따라 변경합니다.

  4. 변경 내용을 사이트 제어 파일에 커밋합니다.

예제

다음 코드 예제에서는 구성 관리 클라이언트 에이전트에 대한 기본 준수 평가 일정을 변경하는 방법을 보여 있습니다.

샘플 코드 호출에 대한 자세한 내용은 코드 조각 Configuration Manager 호출을 참조하세요.


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;  
    }  

}  

예제 메서드에는 다음 매개 변수가 있습니다.

매개 변수 형식 설명
connection -관리: WqlConnectionManager
- VBScript: SWbemServices
SMS 공급자에 대한 유효한 연결입니다.
swbemContext -Vbscript: SWbemContext 유효한 컨텍스트 개체입니다. 자세한 내용은 WMI를 사용하여 Configuration Manager 컨텍스트 한정자를 추가하는 방법을 참조하세요.
siteCode -관리: String
-Vbscript: String
사이트 코드입니다.
newAgentSchedule -관리: String
-Vbscript: String
문자열 형식의 새 일정입니다. 자세한 내용은 일정 정보를 참조하세요.

코드 컴파일

네임 스페이스

시스템

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

어셈블리

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

강력한 프로그래밍

오류 처리에 대한 자세한 내용은 Configuration Manager 오류 정보를 참조하세요.

.NET Framework 보안

Configuration Manager 애플리케이션 보안에 대한 자세한 내용은 역할 기반 관리 Configuration Manager 참조하세요.

참고 항목

DCM(준수 설정) 설정 및 구성 정보
Configuration Manager 사이트 제어 파일 정보
관리 코드를 사용하여 Configuration Manager 사이트 제어 파일에 읽고 쓰는 방법
WMI를 사용하여 Configuration Manager 사이트 제어 파일에 읽고 쓰는 방법
SMS_SCI_ClientComp 서버 WMI 클래스
일정 정보일정 토큰을 Create 방법