다음을 통해 공유


운영 체제 배포 작업 순서 단계에 조건을 추가하는 방법

Configuration Manager SMS_TaskSequence_Condition 클래스 인스턴스를 만든 다음 단계와 연결하여 운영 체제 배포 단계(작업 및 그룹)에 조건을 추가할 수 있습니다. 조건 피연산자를 모두 충족하면 단계가 처리됩니다. 그렇지 않으면 그렇지 않습니다. 조건에는 SMS_TaskSequence_Condition 파생 클래스의 인스턴스인 하나 이상의 피연산자를 가질 수 있습니다. SMS_TaskSequence_ConditionOperator 인스턴스를 사용하여 피연산자의 연산자를 지정합니다.

단계에 조건을 추가하려면

  1. SMS 공급자에 대한 연결을 설정합니다. 자세한 내용은 SMS 공급자 기본 사항을 참조하세요.

  2. 작업 순서 단계 개체를 가져옵니다. 그룹에 대한 SMS_TaskSequence_Group 개체이거나 작업에 대한 SMS_TaskSequenceAction 파생 클래스 개체일 수 있습니다. 자세한 내용은 운영 체제 배포 작업 순서 작업을 추가하는 방법을 참조하세요.

  3. 인스턴스 SMS_TaskSequence_Condition를 만들어 새 조건을 만듭니다.

  4. SMS_TaskSequence_ConditionExpression 파생 클래스의 인스턴스를 만들어 조건에 대한 식을 만듭니다. 예를 들어 SMS_TaskSequence_RegistryConditionExpression.

  5. 식 속성을 채웁 수 있습니다.

  6. 조건 피연산자 속성에 식을 추가합니다.

  7. 조건 을 작업 순서 단계 클래스 Condition 속성에 추가합니다.

예시

다음 예제 메서드는 HKEY_LOCAL_MACHINE\MICROSOFT 레지스트리 키가 있는지 여부를 결정하는 제공된 단계에 조건을 추가합니다. SMS_TaskSequenc_RegistryCondition 식은 조건을 지정하는 데 사용됩니다.

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

Sub AddRegistryCondition (connection, taskSequenceStep)  

    Dim condition  
    Dim registryExpression  
    Dim operands  

    ' Get or create the condition.  
    if IsNull ( taskSequenceStep.Condition) Then  
       Set condition = connection.Get("SMS_TaskSequence_Condition").SpawnInstance_  
    Else  
        Set condition = taskSequenceStep.Condition  
    End If     

    ' Populate the condition.  
    Set registryExpression=connection.Get("SMS_TaskSequence_RegistryConditionExpression").SpawnInstance_  
    registryExpression.KeyPath="HKEY_LOCAL_MACHINE\MICROSOFT"  
    registryExpression.Operator="exists"  
    registryExpression.Type="REG_SZ"  
    registryExpression.Data=Null  

    ' Add the condition.  
    operands=Array(registryExpression)  
    condition.Operands=operands  
    taskSequenceStep.Condition=condition  

End Sub  
public void AddRegistryCondition(  
    WqlConnectionManager connection,   
    IResultObject taskSequenceStep)  
{  
    try  
    {  
        IResultObject condition;  

        if (taskSequenceStep["Condition"].ObjectValue == null)  
        {  
            // Create a new condition.  
            condition = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_Condition");  
        }  
        else  
        {   // Get the existing condition.  
            condition = taskSequenceStep.GetSingleItem("Condition");  
        }  

        // Create and populate the expression.  
        IResultObject registryExpression = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RegistryConditionExpression");  

        registryExpression["KeyPath"].StringValue = @"HKEY_LOCAL_MACHINE\MICROSOFT";  
        registryExpression["Operator"].StringValue = "exists";  
        registryExpression["Type"].StringValue = "REG_SZ";  
        registryExpression["Data"].StringValue = null;  

        // Get the operands and add the expression.  
        List<IResultObject> operands = condition.GetArrayItems("Operands");  
        operands.Add(registryExpression);  

        // Add the expresssion to the list of operands.  
        condition.SetArrayItems("Operands", operands);  

        // Add the condition to the sequence.  
        taskSequenceStep.SetSingleItem("Condition", condition);  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);  
        throw;  
    }  
}  

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

매개 변수 형식 설명
connection -관리: WqlConnectionManager
- VBScript: SWbemServices
SMS 공급자에 대한 유효한 연결입니다.
taskSequenceStep -관리: IResultObject
- VBScript: SWbemObject
유효한 작업 순서 단계(SMS_TaskSequenceStep)입니다.

코드 컴파일

C# 예제에는 다음과 같은 컴파일 요구 사항이 있습니다.

네임 스페이스

시스템

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

어셈블리

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

강력한 프로그래밍

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

.NET Framework 보안

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

참고 항목

개체 개요운영 체제 배포 작업 순서 작업을 추가하는 방법
관리 코드를 사용하여 Configuration Manager SMS 공급자에 연결하는 방법
WMI를 사용하여 Configuration Manager SMS 공급자에 연결하는 방법
작업 순서 개요