Come enumerare le sequenze di attività di distribuzione del sistema operativo disponibili

È possibile enumerare le sequenze di attività di distribuzione del sistema operativo disponibili in Configuration Manager eseguendo una query sui pacchetti delle sequenze di attività disponibili. Configuration Manager non gestisce le istanze della classe SMS_TaskSequence per le sequenze di attività, ma esiste un'istanza della classe SMS_TaskSequencePackage per ogni sequenza di attività.

Nota

Diverse proprietà sono pigre e devi ottenere l'istanza dell'oggetto prima di poter accedere alle proprietà.

È anche possibile accedere a singoli pacchetti di sequenze di attività usando la proprietà della chiave PackageID . Per un esempio, vedere Come leggere un oggetto di Configuration Manager tramite codice gestito. Dopo avere ottenuto il pacchetto della sequenza di attività, è necessario creare un oggetto SMS_TaskSequence per la sequenza di attività prima di poterlo modificare. Per altre informazioni, vedere Come leggere una sequenza di attività da un pacchetto di sequenze di attività.

Per enumerare i pacchetti disponibili della sequenza di attività

  1. Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.

  2. Eseguire una query sul provider SMS per individuare le istanze disponibili di SMS_TaskSequencePackage.

  3. Visualizzare le proprietà richieste per ogni pacchetto della sequenza di attività restituito dalla query.

Esempio

Il metodo di esempio seguente esegue una query sul provider SMS per individuare l'istanza disponibile di SMS_TaskSequencePackage. Per recuperare le proprietà lazy, l'esempio ottiene l'intero oggetto dal provider SMS.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di Configuration Manager.

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

Il metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
connection - Gestito: WqlConnectionManager
- VBScript: SWbemServices
Una connessione valida al provider SMS.

Compilazione del codice

L'esempio di C# richiede:

Spazi dei nomi

Sistema

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagementManagementProvider

Microsoft.ConfigurationManagementManagementProvider.WqlQueryEngine

Assembly

Microsoft.ConfigurationManagement.ManagementProvider

adminui.wqlqueryengine

Programmazione efficiente

Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.

Sicurezza di .NET Framework

Per altre informazioni sulla protezione delle applicazioni di Configuration Manager, vedere Amministrazione basata sui ruoli di Configuration Manager.

Vedere anche

Panoramica degli oggettiCome connettersi a un provider SMS in Configuration Manager tramite codice gestitoCome connettersi a un provider SMS in Configuration Manager tramite WMICome creare un pacchetto della sequenza di attività di distribuzione del sistema operativoCome leggere una sequenza di attività da un pacchetto della sequenza di attivitàPanoramica della sequenza di attività