Freigeben über


Erstellen eines Tasksequenzpakets für die Betriebssystembereitstellung

Sie erstellen eine Tasksequenz für die Betriebssystembereitstellung in Configuration Manager, indem Sie eine Instanz der SMS_TaskSequencePackage-Klasse erstellen. Diese Klasse wird von der SMS_Package-Klasse abgeleitet und enthält die Tasksequenz. Es wird Clients angekündigt, die dann die Tasksequenz ausführen können. Die Tasksequenz wird dem Tasksequenzpaket mithilfe der SMS_TaskSequencePackageSetSequence-Methode der Klasse zugeordnet.

Sie können Tasksequenzpakete in Kategorien organisieren, indem Sie ihnen eine Kategorie mit der SMS_TaskSequence Klasse Category-Eigenschaft zuweisen.

Weitere Informationen zum Erstellen von Tasksequenzen finden Sie unter Erstellen einer Tasksequenz. Weitere Informationen zu Tasksequenzpaketen finden Sie unter Task Sequenceing Object Model.

Sie kündigen ein Tasksequenzpaket auf die gleiche Weise an, wie Sie ein Configuration Manager-Paket SMS_Packageankündigen. Weitere Informationen finden Sie unter Erstellen einer Ankündigung.

So erstellen Sie ein Tasksequenzpaket

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Informationen zum SMS-Anbieter in Configuration Manager.

  2. Erstellen Sie eine Instanz von SMS_TaskSequencePackage.

  3. Füllen Sie die Eigenschaften des Tasksequenzpakets auf.

  4. Rufen Sie die SMS_TaskSequencePackage -Klassenmethode SetSequence auf, um dem Tasksequenzpaket eine Tasksequenz (SMS_TaskSequence) zuzuordnen.

Beispiel

Die folgende Beispielmethode erstellt ein Tasksequenzpaket (SMS_TaskSequencePackage) und ordnet diesem Tasksequenz (SMS_TaskSequence) zu.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

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

Diese Beispielmethode weist die folgenden Parameter auf:

Parameter Typ Beschreibung
connection -Verwalteten: WqlConnectionManager
– VBScript: SWbemServices
Eine gültige Verbindung mit dem SMS-Anbieter.
taskSequence -Verwalteten: IResultObject
– VBScript: SWbemObject
Eine gültige Tasksequenz SMS_TaskSequence

Kompilieren des Codes

Für das C#-Beispiel ist Folgendes erforderlich:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

Objektübersicht: Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem Code
Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMI
Erstellen einer Tasksequenz
Übersicht über Aufgabensequenzen