Dela via


Så här ändrar du ordning på en aktivitetssekvens för operativsystemdistribution

I Configuration Manager kan du ordna om stegen (en åtgärd eller en grupp) i en aktivitetssekvens eller grupp genom att ändra ordning på stegsekvensen i egenskapen StegSMS_TaskSequence_Step matris.

Ändra ordning på en aktivitetssekvens

  1. Konfigurera en anslutning till SMS-providern. Mer information finns i grunderna för SMS-provider.

  2. Hämta en giltig aktivitetssekvens (SMS_TaskSequence) eller aktivitetssekvensgrupp (SMS_TaskSequence_Group). Mer information finns i Läsa en aktivitetssekvens från ett aktivitetssekvenspaket.

  3. Steps Flytta SMS_TaskSequence_Step till den nya platsen i matrisegenskapen.

  4. Uppdatera aktivitetssekvensen eller gruppen.

Exempel

I följande exempel visas hur du flyttar ett steg uppåt eller nedåt i en aktivitetssekvens eller grupp.

Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.

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;
    }
}

Exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
taskSequence -Hanterade: IResultObject
– VBScript: SWbemObject
En giltig aktivitetssekvens eller aktivitetssekvensgrupp
taskSequenceStepName

stepName
-Hanterade: String
– VBScript: String
Namnet på aktivitetssekvenssteget som ska flyttas.

Kompilera koden

Det här C#-exemplet kräver:

Namnområden

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Församling

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robust programmering

Mer information om felhantering finns i Om Configuration Manager fel.

.NET Framework Säkerhet

Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.

Se även

ObjektöversiktSå här lägger du till en aktivitetssekvensåtgärd för operativsystemdistributionSå här ansluter du till en SMS-provider i Configuration Manager med hjälp av hanterad kodSå här ansluter du till en SMS-provider i Configuration Manager med hjälp av WMI-aktivitetssekvensöversikt