Udostępnij przez


Jak ustawić zmienną sekwencji zadań wdrażania systemu operacyjnego

W Configuration Manager tworzysz zmienną sekwencji zadań wdrażania systemu operacyjnego, tworząc wystąpienie klasy SMS_TaskSequence_SetVariableAction, dodając do sekwencji zadań. Zmienne sekwencji zadań można również tworzyć, gdy sekwencja zadań jest uruchomiona na kliencie. Aby uzyskać więcej informacji, zobacz How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w uruchomionej sekwencji zadań Configuration Manager).

Zmienna sekwencji zadań to para nazw/wartości, do których można uzyskać dostęp za pomocą kroków sekwencji zadań. Można również tworzyć zmienne specyficzne dla komputera i kolekcji. Aby uzyskać więcej informacji, zobacz How to Create a Collection Variable in Configuration Manager and How to Create a Computer Variable in Configuration Manager (Jak utworzyć zmienną kolekcji w Configuration Manager) i How to Create a Computer Variable in Configuration Manager (Jak utworzyć zmienną komputerową w Configuration Manager).

Uwaga

Zmienne ustawione za pomocą SMS_TaskSequence_SetVariableAction klasy zastępują zmienne, które są ustawiane w innym miejscu. Jeśli na przykład zmienna kolekcji i SMS_TaskSequence_SetVariableAction mają taką samą nazwę, pierwszeństwo ma wartość zmiennej SMS_TaskSequence_SetVariableAction.

Aby ustawić zmienną sekwencji zadań

  1. Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy programu SMS.

  2. Pobierz sekwencję zadań w celu dodania zmiennej sekwencji zadań. Aby uzyskać więcej informacji, zobacz How to Create an Operating System Deployment Task Sequence (Jak utworzyć sekwencję zadań wdrażania systemu operacyjnego).

  3. Utwórz wystąpienie SMS_TaskSequence_SetVariableAction.

  4. Ustaw właściwości VariableName i VariableValue dla dodawanej zmiennej.

  5. Dodaj obiekt SMS_TaskSequence_SetVariableAction do sekwencji zadań.

Przykład

Poniższa przykładowa metoda ustawia nazwę i wartość zmiennej sekwencji zadań.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu 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;
    }
}

Ta przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
connection -Zarządzane: WqlConnectionManager
- VBScript: SWbemServices
- Prawidłowe połączenie z dostawcą programu SMS.
taskSequence -Zarządzane: WqlConnectionManager
- VBScript: SWbemServices
— Sekwencja zadań, do która jest dodawana zmienna.
variableName -Zarządzane: String
- VBScript: String
Nazwa zmiennej.
variableValue -Zarządzane: String
- VBScript: String
Wartość zmiennej.

Kompilowanie kodu

Ten przykład języka C# wymaga:

Przestrzenie nazw

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Montaż

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Niezawodne programowanie

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.

zabezpieczenia .NET Framework

Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.

Zobacz też

Omówienie obiektówHow to Connect to an SMS Provider in Configuration Manager by Using Managed CodeHow to Connect to an SMS Provider in Configuration Manager by Using WMITask sequence overviewHow to Use Task Sequence Variables in a Running Configuration Manager Task (Jak używać zmiennych sekwencji zadań w uruchomionym zadaniu Configuration Manager) SekwencjaJak odczytać sekwencję zadań z pakietu sekwencji zadań