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 změníte pořadí kroků 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 -Řízen: IResultObject
- VBScript: SWbemObject
Platné pořadí úkolů nebo skupina pořadí úkolů
taskSequenceStepName

stepName
-Řízen: 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ém

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Shromáždění

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ů: Akce pořadí úkolů Přidání nasazení operačního systémuPostup připojení k poskytovateli serveru SMS v Configuration Manager pomocí spravovaného kóduPostup připojení k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMIPřehled pořadí úkolů