Een takenreeks voor de implementatie van een besturingssysteem opnieuw ordenen
In Configuration Manager kunt u de volgorde van de stappen (een actie of groep) in een takenreeks of groep wijzigen door de stappenreeks opnieuw te rangschikken in de eigenschap StappenSMS_TaskSequence_Step matrix.
Een takenreeks opnieuw ordenen
Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.
Haal een geldige takenreeks (SMS_TaskSequence) of takenreeksgroep (SMS_TaskSequence_Group) op. Zie Een takenreeks lezen uit een takenreekspakket voor meer informatie.
Verplaats de SMS_TaskSequence_Step binnen de
Steps
matrixeigenschap naar de nieuwe locatie.Werk de takenreeks of groep bij.
Voorbeeld
In het volgende voorbeeld ziet u hoe u een stap omhoog of omlaag kunt verplaatsen binnen een takenreeks of groep.
Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.
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;
}
}
De voorbeeldmethode heeft de volgende parameters:
Parameter | Type | Beschrijving |
---|---|---|
taskSequence |
-Beheerd: IResultObject - VBScript: SWbemObject |
Een geldige takenreeks of takenreeksgroep |
taskSequenceStepName stepName |
-Beheerd: String -Vbscript: String |
De naam van de takenreeksstap die moet worden verplaatst. |
De code compileren
Voor dit C#-voorbeeld is het volgende vereist:
Naamruimten
Systeem
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Vergadering
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuust programmeren
Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.
.NET Framework Beveiliging
Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.
Zie ook
Overzicht van objectenEen takenreeksactie voor de implementatie van een besturingssysteem toevoegen
Verbinding maken met een SMS-provider in Configuration Manager met behulp van beheerde code
Verbinding maken met een SMS-provider in Configuration Manager met behulp van WMI
Takenreeksoverzicht