Dela via


Lägga till en aktivitetssekvensåtgärd för operativsystemdistribution

En aktivitetssekvensåtgärd för operativsystemdistribution läggs till i en aktivitetssekvens i Configuration Manager genom att skapa en instans av en SMS_TaskSequence_Action härledd klass och sedan lägga till den i stegen i aktivitetssekvensen.

Obs!

Configuration Manager har ett antal inbyggda åtgärder som du kan använda. Till exempel är kommandoradsåtgärdsklassen SMS_TaskSequence_RunCommandLineAction. Dessa klasser härleds från klassen SMS_TaskSequence_Action .

SMS_TaskSequenceAction härleds från klassen SMS_TaskSequence_Step , som är basklassen för både åtgärder och grupper. Aktivitetssekvensen lagrar sina steg i en matris med SMS_TaskSequence_Step, vilket gör att åtgärder och grupper kan lagras tillsammans.

Så här lägger du till en aktivitetssekvensåtgärd

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

  2. Skapa ett aktivitetssekvensobjekt (SMS_TaskSequence). Mer information finns i Så här skapar du en aktivitetssekvens för operativsystemdistribution.

  3. Skapa en SMS_TaskSequenceAction härledd klassinstans, till exempel SMS_TaskSequence_RunCommandLineAction, för den åtgärd du vill ha.

  4. Fyll i åtgärden efter behov.

  5. Lägg till åtgärden i aktivitetssekvensstegen. Detta lagras egenskapen SMS_TaskSequence) för klassen Steg.

Exempel

Följande exempelmetod skapar en kommandoradsåtgärd och lägger till den i den angivna aktivitetssekvensen.

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

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

Exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
connection -Hanterade: WqlConnectionManager
– VBScript: SWbemServices
En giltig anslutning till SMS-providern.
taskSequence -Hanterade: IResultObject
– VBScript: SWbemObject
En giltig aktivitetssekvens.
Name -Hanterade: String
-Vbscript: String
Ett namn på den nya åtgärden.
Description -Hanterade: String
-Vbscript: String
En beskrivning av åtgärden.

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örsamlingen

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 ett villkor i ett aktivitetssekvenssteg för operativsystemdistribution
Ansluta till en SMS-provider i Configuration Manager med hjälp av hanterad kod
Ansluta till en SMS-provider i Configuration Manager med hjälp av WMI
Så här skapar du en aktivitetssekvensgrupp för operativsystemdistribution
Ta bort en aktivitetssekvensåtgärd för operativsystemdistribution
Översikt över aktivitetssekvens