Udostępnij za pośrednictwem


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:

Obszary nazw

System

System.collections.generic

System.text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Zestawu

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ówJak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu kodu zarządzanego
Jak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu usługi WMI
Omówienie sekwencji zadańHow to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w sekwencji zadań uruchomionej Configuration Manager)
Jak odczytać sekwencję zadań z pakietu sekwencji zadań