Udostępnij za pośrednictwem


Jak dodać akcję sekwencji zadań wdrażania systemu operacyjnego

Akcja sekwencji zadań wdrażania systemu operacyjnego jest dodawana do sekwencji zadań w Configuration Manager przez utworzenie wystąpienia klasy pochodnej SMS_TaskSequence_Action, a następnie dodanie jej do kroków sekwencji zadań.

Uwaga

Configuration Manager ma wiele wbudowanych akcji, których można użyć. Na przykład klasa akcji wiersza polecenia jest SMS_TaskSequence_RunCommandLineAction. Klasy te pochodzą z klasy SMS_TaskSequence_Action .

SMS_TaskSequenceAction pochodzi od klasy SMS_TaskSequence_Step , która jest klasą podstawową zarówno dla akcji, jak i grup. Sekwencja zadań przechowuje swoje kroki w tablicy SMS_TaskSequence_Step, dzięki czemu akcje i grupy mogą być przechowywane razem.

Aby dodać akcję sekwencji zadań

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

  2. Utwórz obiekt sekwencji zadań (SMS_TaskSequence). 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 klasy pochodnej SMS_TaskSequenceAction, na przykład SMS_TaskSequence_RunCommandLineAction, dla żądanej akcji.

  4. Wypełnij akcję odpowiednio.

  5. Dodaj akcję do kroków sekwencji zadań. Jest ona przechowywana we właściwości kroki klasy SMS_TaskSequence).

Przykład

Poniższa przykładowa metoda tworzy akcję wiersza polecenia i dodaje ją do dostarczonej sekwencji zadań.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.

Sub AddTaskSequenceActionCommandLine(connection, taskSequence, name, description)     

    Dim steps  
    Dim action    

    Set action = connection.Get("SMS_TaskSequence_RunCommandLineAction").SpawnInstance_  

    action.CommandLine = "cmd /c Echo Hello"  
    action.Name=name  
    action.Description=description  
    action.Enabled=True  
    action.ContinueOnError=False  

      If IsNull(taskSequence.Steps) Then  
        steps = Array(action)  
        taskSequence.Steps=steps  
    Else  
        steps= Array(taskSequence.Steps)  
        ReDim steps (UBound (taskSequence.Steps)+1)   
        taskSequence.Steps(UBound(steps))=action  
    End if    

End Sub  

public IResultObject AddTaskSequenceActionCommandLine(  
    WqlConnectionManager connection,   
    IResultObject taskSequence,  
    string name,   
    string description)  
{  
    try  
    {  
        // Create the new step.  
        IResultObject ro;  

        ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");  
        ro["CommandLine"].StringValue = @"cmd /c Echo Hello";  

        ro["Name"].StringValue = name;  
        ro["Description"].StringValue = description;  
        ro["Enabled"].BooleanValue = true;  
        ro["ContinueOnError"].BooleanValue = false;  

        // Add the step to the task sequence.  
        List<IResultObject> array = taskSequence.GetArrayItems("Steps");  

        array.Add(ro);  

        taskSequence.SetArrayItems("Steps", array);  

        return ro;  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to add action: " + e.Message);  
        throw;  
    }  
}  

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: IResultObject
- VBScript: SWbemObject
Prawidłowa sekwencja zadań.
Name -Zarządzane: String
-Vbscript: String
Nazwa nowej akcji.
Description -Zarządzane: String
-Vbscript: String
Opis akcji.

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 dodać warunek do kroku sekwencji zadań wdrażania systemu operacyjnego
Jak 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
Jak utworzyć grupę sekwencji zadań wdrażania systemu operacyjnego
Jak usunąć akcję sekwencji zadań wdrażania systemu operacyjnego
Omówienie sekwencji zadań