Een takenreeksactie voor de implementatie van een besturingssysteem toevoegen

Een taakreeksactie voor de implementatie van een besturingssysteem wordt toegevoegd aan een taakreeks, in Configuration Manager, door een exemplaar van een SMS_TaskSequence_Action afgeleide klasse te maken en dit vervolgens toe te voegen aan de stappen van de takenreeks.

Opmerking

Configuration Manager beschikt over een aantal ingebouwde acties die u kunt gebruiken. De opdrachtregelactieklasse is bijvoorbeeld SMS_TaskSequence_RunCommandLineAction. Deze klassen zijn afgeleid van de SMS_TaskSequence_Action klasse.

SMS_TaskSequenceAction is afgeleid van de klasse SMS_TaskSequence_Step , de basisklasse voor zowel acties als groepen. De takenreeks slaat zijn stappen op in een matrix van SMS_TaskSequence_Step, waardoor acties en groepen samen kunnen worden opgeslagen.

Een takenreeksactie toevoegen

  1. Stel een verbinding in met de sms-provider. Zie voor meer informatie de basisprincipes van de sms-provider.

  2. Een takenreeksobject (SMS_TaskSequence maken. Zie How to create an Operating System Deployment task Sequence (Een takenreeks voor de implementatie van een besturingssysteem maken) voor meer informatie.

  3. Maak een SMS_TaskSequenceAction afgeleid klasse-exemplaar, bijvoorbeeld SMS_TaskSequence_RunCommandLineAction, voor de gewenste actie.

  4. Vul de actie naar wens in.

  5. Voeg de actie toe aan de stappen van de taakvolgorde. Dit wordt opgeslagen met de eigenschap SMS_TaskSequence) klasse Stappen.

Voorbeeld

Met de volgende voorbeeldmethode wordt een opdrachtregelactie gemaakt en wordt deze toegevoegd aan de opgegeven taakvolgorde.

Zie Codefragmenten van Configuration Manager aanroepen voor meer informatie over het aanroepen van de voorbeeldcode.

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

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection - Beheerd: WqlConnectionManager
- VBScript: SWbemServices
Een geldige verbinding met de sms-provider.
taskSequence - Beheerd: IResultObject
- VBScript: SWbemObject
Een geldige takenreeks.
Name - Beheerd: String
- VBScript: String
Een naam voor de nieuwe actie.
Description - Beheerd: String
- VBScript: String
Een beschrijving van de actie.

De code compileren

Dit C#-voorbeeld vereist:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

bijeenkomst

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuust programmeren

Zie Info over fouten in Configuration Manager voor meer informatie over foutafhandeling.

.NET Framework-beveiliging

Zie Rolgebaseerd beheer van Configuration Manager voor meer informatie over het beveiligen van Configuration Manager-toepassingen.

Zie ook

Overzicht van objectenEen voorwaarde toevoegen aan een taakreeks voor de implementatie van een besturingssysteemVerbinding maken met een sms-provider in Configuration Manager met behulp van beheerde codeVerbinding maken met een sms-provider in Configuration Manager met behulp van WMIEen taakreeksgroep voor de implementatie van een besturingssysteem makenEen implementatie van een besturingssysteem verwijderen TaakreeksactieOverzicht van taakreeks