운영 체제 배포 작업 순서 변수를 설정하는 방법
Configuration Manager SMS_TaskSequence_SetVariableAction 클래스의 인스턴스를 만들고 작업 순서에 추가하여 운영 체제 배포 작업 순서 변수를 만듭니다. 작업 순서가 클라이언트에서 실행되는 동안 작업 순서 변수를 만들 수도 있습니다. 자세한 내용은 실행 중인 Configuration Manager 작업 순서에서 작업 순서 변수를 사용하는 방법을 참조하세요.
작업 순서 변수는 작업 순서 단계에 따라 액세스할 수 있는 이름/값 쌍입니다. 컴퓨터 및 컬렉션별 변수를 만들 수도 있습니다. 자세한 내용은 Configuration Manager 컬렉션 변수를 만드는 방법 및 Configuration Manager컴퓨터 변수를 만드는 방법을 참조하세요.
참고
SMS_TaskSequence_SetVariableAction 클래스로 설정된 변수는 다른 곳에 설정된 변수를 재정의합니다. 예를 들어 컬렉션 변수와 SMS_TaskSequence_SetVariableAction 이름이 같으면 SMS_TaskSequence_SetVariableAction 변수의 값이 우선합니다.
작업 순서 변수를 설정하려면
SMS 공급자에 대한 연결을 설정합니다. 자세한 내용은 SMS 공급자 기본 사항을 참조하세요.
작업 순서 변수를 추가할 작업 순서를 가져옵니다. 자세한 내용은 운영 체제 배포 작업 순서를 만드는 방법을 참조하세요.
SMS_TaskSequence_SetVariableAction 인스턴스를 만듭니다.
추가할 변수에 대해 VariableName 및 VariableValue 속성을 설정합니다.
작업 순서에 SMS_TaskSequence_SetVariableAction 개체를 추가합니다.
예시
다음 예제 메서드는 작업 순서 변수 이름 및 값을 설정합니다.
샘플 코드 호출에 대한 자세한 내용은 코드 조각 Configuration Manager 호출을 참조하세요.
Sub AddTaskSequenceVariable(connection, taskSequence, variableName, variableValue)
Dim variable
Dim steps
Set variable = connection.Get("SMS_TaskSequence_SetVariableAction").SpawnInstance_
variable.Name="MyTaskSequenceVariable"
variable.Description = "A task sequence variable"
variable.Enabled=True
variable.ContinueOnError=False
variable.VariableName=variableName
variable.VariableValue=variableValue
steps= Array(taskSequence.Steps)
ReDim steps (UBound (taskSequence.Steps)+1)
taskSequence.Steps(UBound(steps))=variable
End Sub
public void AddTaskSequenceVariable(
WqlConnectionManager connection,
IResultObject taskSequence,
string variableName,
string variableValue)
{
try
{
// Create the task sequence variable object.
IResultObject variable = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_SetVariableAction");
// Populate the properties.
variable["Name"].StringValue = "MyTaskSequenceVariable";
variable["ContinueOnError"].BooleanValue = false;
variable["Description"].StringValue = "A task sequence variable set with SMS_TaskSequence_SetVariableAction";
variable["Enabled"].BooleanValue = true;
variable["VariableName"].StringValue = variableName;
variable["VariableValue"].StringValue = variableValue;
// Add the step to the task sequence.
List<IResultObject> array = taskSequence.GetArrayItems("Steps");
array.Add(variable);
taskSequence.SetArrayItems("Steps", array);
}
catch (SmsException e)
{
Console.WriteLine("Failed to set task sequence variable: " + e.Message);
throw;
}
}
이 예제 메서드에는 다음 매개 변수가 있습니다.
매개 변수 | 형식 | 설명 |
---|---|---|
connection |
-관리: WqlConnectionManager - VBScript: SWbemServices |
- SMS 공급자에 대한 유효한 연결입니다. |
taskSequence |
-관리: WqlConnectionManager -Vbscript: SWbemServices |
- 변수가 추가되는 작업 순서입니다. |
variableName |
-관리: String -Vbscript: String |
변수의 이름입니다. |
variableValue |
-관리: String -Vbscript: String |
변수의 값입니다. |
코드 컴파일
이 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 공급자에 연결하는 방법
작업 순서 개요실행 중인 Configuration Manager 작업 순서에서 작업 순서 변수를 사용하는 방법
작업 순서 패키지에서 작업 순서를 읽는 방법