Share via


Een takenreekspakket voor besturingssysteemimplementatie maken

U maakt een takenreeks voor de implementatie van het besturingssysteem in Configuration Manager door een exemplaar van de klasse SMS_TaskSequencePackage te maken. Deze klasse is afgeleid van de klasse SMS_Package en bevat de takenreeks. Het wordt geadverteerd naar clients die vervolgens de takenreeks kunnen uitvoeren. De takenreeks is gekoppeld aan het takenreekspakket met behulp van de methode SetSequence van klasseSMS_TaskSequencePackage.

U kunt takenreekspakketten indelen in categorieën door er een categorie aan toe te wijzen met de eigenschap SMS_TaskSequenceklasse Categorie .

Zie Een takenreeks maken voor meer informatie over het maken van takenreeksen. Zie Het taakvolgordeobjectmodel voor meer informatie over takenreekspakketten.

U adverteert een takenreekspakket op dezelfde manier als u een Configuration Manager-pakket SMS_Packageadverteert. Zie Een advertentie maken voor meer informatie.

Een takenreekspakket maken

  1. Een verbinding met de SMS-provider instellen. Zie Over de SMS-provider in Configuration Manager voor meer informatie.

  2. Maak een exemplaar van SMS_TaskSequencePackage.

  3. Vul de eigenschappen van het takenreekspakket in.

  4. Roep de SMS_TaskSequencePackage klassemethode SetSequence aan om een takenreeks (SMS_TaskSequence) te koppelen aan het takenreekspakket.

Voorbeeld

Met de volgende voorbeeldmethode wordt een takenreekspakket (SMS_TaskSequencePackage) gemaakt en wordt er een takenreeks (SMS_TaskSequence) aan gekoppeld.

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

Sub CreateTaskSequencePackage (connection, taskSequence)  

    Dim taskSequencePackage  
    Dim packageClass  
    Dim objInParams  
    Dim objOutParams  

    ' Create the new package object.  
    Set taskSequencePackage = connection.Get("SMS_TaskSequencePackage").SpawnInstance_  

    ' Populate the new package properties.  
    taskSequencePackage.Name = "New task sequence package"  
    taskSequencePackage.Description = "A new task sequence package description"  

    ' Get the parameters object.  
    Set packageClass = connection.Get("SMS_TaskSequencePackage")  

    Set objInParams = packageClass.Methods_("SetSequence"). _  
        inParameters.SpawnInstance_()  

    ' Add the input parameters.  
    objInParams.TaskSequence =  taskSequence  
    objInParams.TaskSequencePackage = taskSequencePackage  

    ' Add the sequence.  
     Set objOutParams = connection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", objInParams)  

End Sub  

public IResultObject CreateTaskSequencePackage(  
    WqlConnectionManager connection,   
    IResultObject taskSequence)  
{  
    try  
    {  
        Dictionary<string, object> inParams = new Dictionary<string, object>();  

        // Create the new task sequence package.  
        IResultObject taskSequencePackage = connection.CreateInstance("SMS_TaskSequencePackage");  

        taskSequencePackage["Name"].StringValue = "New task sequence package";  
        taskSequencePackage["Description"].StringValue = "A brand new task sequence package";  
        taskSequencePackage["Category"].StringValue = "A custom category";  

        // Note. Add other package properties as required.  

        // Set up parameters that associate the task sequence with the package.  
        inParams.Add("TaskSequence", taskSequence);  
        inParams.Add("TaskSequencePackage", taskSequencePackage);  

        // Associate the task sequence with the package. Note that a call to Put is not required.  
        IResultObject result = connection.ExecuteMethod("SMS_TaskSequencePackage", "SetSequence", inParams);  

        // The path to the new package.  
        Console.WriteLine(result["SavedTaskSequencePackagePath"].StringValue);  

        return taskSequencePackage;  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);  
        throw;  
    }  
}  

Deze 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 SMS_TaskSequence

De code compileren

Voor het 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 objectenVerbinding 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 takenreeks maken
Takenreeksoverzicht