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_TaskSequencePackage
SetSequence-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_Package
ankündigen. Weitere Informationen finden Sie unter Erstellen einer Ankündigung.
So erstellen Sie ein Tasksequenzpaket
Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Informationen zum SMS-Anbieter in Configuration Manager.
Erstellen Sie eine Instanz von
SMS_TaskSequencePackage
.Füllen Sie die Eigenschaften des Tasksequenzpakets auf.
Rufen Sie die
SMS_TaskSequencePackage
-KlassenmethodeSetSequence
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