Freigeben über


Auflisten der Tasksequenzen für die verfügbare Betriebssystembereitstellung

Sie listeen die verfügbaren Tasksequenzen für die Betriebssystembereitstellung in Configuration Manager auf, indem Sie die verfügbaren Tasksequenzpakete abfragen. Configuration Manager verwaltet keine Instanzen der SMS_TaskSequence-Klasse für Tasksequenzen, aber es gibt eine instance der SMS_TaskSequencePackage klasse für jede Tasksequenz.

Hinweis

Mehrere Eigenschaften sind verzögert, und Sie müssen das Objekt instance abrufen, bevor Sie auf die Eigenschaften zugreifen können.

Sie können auch auf einzelne Tasksequenzpakete zugreifen, indem Sie die Schlüsseleigenschaft PackageID verwenden. Ein Beispiel finden Sie unter Lesen eines Configuration Manager-Objekts mithilfe von verwaltetem Code. Nachdem Sie über das Tasksequenzpaket verfügen, müssen Sie ein SMS_TaskSequence -Objekt für die Tasksequenz erstellen, bevor Sie es ändern können. Weitere Informationen finden Sie unter Lesen einer Tasksequenz aus einem Tasksequenzpaket.

So zählt man die verfügbaren Tasksequenzpakete auf

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.

  2. Fragen Sie den SMS-Anbieter nach den verfügbaren Instanzen von SMS_TaskSequencePackage ab.

  3. Zeigen Sie die erforderlichen Eigenschaften für jedes Tasksequenzpaket an, das von der Abfrage zurückgegeben wird.

Beispiel

Die folgende Beispielmethode fragt den SMS-Anbieter nach den verfügbaren instance von SMS_TaskSequencePackage ab. Um die verzögerten Eigenschaften abzurufen, ruft das Beispiel das gesamte Objekt vom SMS-Anbieter ab.

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

Sub EnumerateTaskSequencePackages(connection)

    Set taskSequencePackages= connection.ExecQuery("Select * from SMS_TaskSequencePackage")

    For Each package in taskSequencePackages
        WScript.Echo package.Name
        WScript.Echo package.Sequence
    Next
End Sub
public void EnumerateTaskSequencePackages(
    WqlConnectionManager connection)
{
    IResultObject taskSequencePackages = connection.QueryProcessor.ExecuteQuery("select * from SMS_TaskSequencePackage");

    foreach (IResultObject ro in taskSequencePackages)
    {
        ro.Get();

        // Get the lazy properties - Sequence property contains the Task sequence XML.
        Console.WriteLine(ro["Name"].StringValue);
        Console.WriteLine(ro["Sequence"].StringValue);

        Console.WriteLine();
    }
}

Die Beispielmethode verfügt über die folgenden Parameter:

Parameter Typ Beschreibung
connection -Gehandhabt: WqlConnectionManager
– VBScript: SWbemServices
Eine gültige Verbindung mit dem SMS-Anbieter.

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übersichtHerstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von verwaltetem CodeHerstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMIHow to Create an Operating System Deployment Task Sequence PackageHow to Read a Task Sequence From a Task Sequence PackageOverview