Een takenreeksactie voor de implementatie van een besturingssysteem toevoegen
Een takenreeksactie voor de implementatie van het besturingssysteem wordt toegevoegd aan een takenreeks, in Configuration Manager, door een exemplaar van een SMS_TaskSequence_Action afgeleide klasse te maken en deze vervolgens toe te voegen aan de stappen van de takenreeks.
Opmerking
Configuration Manager heeft een aantal ingebouwde acties die u kunt gebruiken. De opdrachtregelactieklasse is bijvoorbeeld SMS_TaskSequence_RunCommandLineAction. Deze klassen zijn afgeleid van de klasse SMS_TaskSequence_Action .
SMS_TaskSequenceAction is afgeleid van de klasse SMS_TaskSequence_Step , de basisklasse voor zowel acties als groepen. De takenreeks slaat de stappen op in een matrix van SMS_TaskSequence_Step, zodat acties en groepen samen kunnen worden opgeslagen.
Een takenreeksactie toevoegen
Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.
Een takenreeksobject (SMS_TaskSequence) maken. Zie Een takenreeks voor besturingssysteemimplementatie maken voor meer informatie.
Maak een SMS_TaskSequenceAction afgeleide klasse-instantie, bijvoorbeeld SMS_TaskSequence_RunCommandLineAction, voor de gewenste actie.
Vul de actie zo nodig in.
Voeg de actie toe aan de takenreeksstappen. De eigenschap Stappen van de klasse SMS_TaskSequence) wordt opgeslagen.
Voorbeeld
Met de volgende voorbeeldmethode wordt een opdrachtregelactie gemaakt en toegevoegd aan de opgegeven takenreeks.
Zie Aanroepen Configuration Manager codefragmenten 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 voor de actie. |
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 voorwaarde toevoegen aan een takenreeksstap voor een besturingssysteemimplementatie
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
Een takenreeksgroep voor besturingssysteemimplementatie maken
Een takenreeksactie voor een besturingssysteemimplementatie verwijderen
Takenreeksoverzicht