Sdílet prostřednictvím


Změna pořadí úkolů nasazení operačního systému

V Configuration Manager můžete změnit pořadí kroků (akce nebo skupiny) v pořadí úkolů nebo skupině tak, že pořadí kroků změníte v poli vlastnosti KrokySMS_TaskSequence_Step.

Změna pořadí úkolů

  1. Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Základy poskytovatele serveru SMS.

  2. Získejte platné pořadí úkolů (SMS_TaskSequence) nebo skupinu pořadí úkolů (SMS_TaskSequence_Group). Další informace najdete v tématu Čtení pořadí úkolů z balíčku pořadí úkolů.

  3. V rámci Steps vlastnosti pole přesuňte SMS_TaskSequence_Step do nového umístění.

  4. Aktualizujte pořadí úkolů nebo skupinu.

Příklad

Následující příklad ukazuje, jak přesunout krok nahoru nebo dolů v rámci pořadí úkolů nebo skupiny.

Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.

Sub MoveTaskSequenceStepDown(taskSequence, stepName)  
   Dim index  
   Dim osdStep  
   Dim temp  

    index=0  

    ' If found, move the step down.  
    for each osdStep in taskSequence.Steps  
        If osdStep.Name=stepName Then  
            If index < Ubound (TaskSequence.Steps) Then  
                Set temp=osdStep  
                taskSequence.Steps(index)=taskSequence.Steps(index+1)  
                taskSequence.Steps(index+1)=temp  
                Exit For  
           End If      
        End If  

        index=index+1  
    next  
End Sub  

Sub MoveTaskSequenceStepUp(taskSequence, stepName)  
    Dim index  
    Dim osdStep  
    Dim temp       

    index=0  

    ' If found, move the step up.  
    for Each osdStep In taskSequence.Steps  
        If osdStep.Name=stepName Then  
            If index >1 Then  
                Set temp=osdStep  
                taskSequence.Steps(index)=taskSequence.Steps(index-1)  
                taskSequence.Steps(index-1)=temp  
                Exit For  
           End If      
        End If  

        index=index+1  

    next  
End Sub  
public void MoveTaskSequenceStepDown(  
    IResultObject taskSequence,   
    string taskSequenceStepName)  
{  
    try  
    {  
        // Get the task sequence steps.  
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.  

        int index = 0;  

        // Scan through the steps to find the step to move down.  
        foreach (IResultObject ro in steps)  
        {  
            if (ro["Name"].StringValue == taskSequenceStepName)  
            {  
                // Move the step.  
                if (index < steps.Count - 1) // Not at end, so we can flip.  
                {  
                    steps.Insert(index + 2, steps[index]);  
                    steps.Remove(steps[index]);  
                    taskSequence.SetArrayItems("Steps", steps);  
                    break;  
                }  
            }  

            index++;  
        }  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed To enumerate task sequence items: " + e.Message);  
        throw;  
    }  
}  

public void MoveTaskSequenceStepUp(  
    IResultObject taskSequence,   
    string taskSequenceStepName)  
{  
    try  
    {  
        // Get the task sequence steps.  
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps"); // Array of SMS_TaskSequence_Steps.  

        int index = 0;  

        foreach (IResultObject ro in steps)  
        {  
            if (ro["Name"].StringValue == taskSequenceStepName)  
            {  
                if (index > 0) // Not the first step, so you can move it up.  
                {  
                    steps.Insert(index + 1, steps[index - 1]);  
                    steps.Remove(steps[index - 1]);  
                    taskSequence.SetArrayItems("Steps", steps);  
                    break;  
                }  
            }  
            index++;  
        }  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed To enumerate task sequence items: " + e.Message);  
        throw;  
    }  
}  

Ukázková metoda má následující parametry:

Parametr Typ Popis
taskSequence -Spravované: IResultObject
- VBScript: SWbemObject
Platné pořadí úkolů nebo skupina pořadí úkolů
taskSequenceStepName

stepName
-Spravované: String
-Vbscript: String
Název kroku pořadí úkolů, který chcete přesunout.

Kompilace kódu

Tento příklad jazyka C# vyžaduje:

Obory názvů

Systému

System.collections.generic

System.text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Sestavení

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robustní programování

Další informace o zpracování chyb najdete v tématu Informace o chybách Configuration Manager.

Zabezpečení rozhraní .NET Framework

Další informace o zabezpečení Configuration Manager aplikací najdete v tématu Configuration Manager správa na základě rolí.

Viz taky

Přehled objektů– Postup přidání akce pořadí úkolů nasazení operačního systému
Připojení k poskytovateli serveru SMS v Configuration Manager pomocí spravovaného kódu
Připojení k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMI
Přehled pořadí úkolů