Udostępnij za pośrednictwem


Jak wyliczyć kroki w sekwencji zadań wdrażania systemu operacyjnego

Sekwencję zadań wdrażania systemu operacyjnego można wyliczyć w Configuration Manager przy użyciu metody cyklicznej do skanowania kroków i grup sekwencji zadań.

Aby wyliczyć kroki w sekwencji zadań

  1. Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy programu SMS.

  2. Uzyskaj prawidłową sekwencję zadań SMS_TaskSequence obiektu. Aby uzyskać więcej informacji, zobacz How to Create an Operating System Deployment Task Sequence (Jak utworzyć sekwencję zadań wdrażania systemu operacyjnego)

  3. Wylicz kroki, aby wyświetlić nazwy dowolnych akcji (SMS_TaskSequence_Action). Użyj rekursji, aby uzyskać dostęp do wszystkich grup (SMS_TaskSequence_Group), które zostały znalezione i wyświetlić ich akcje.

Przykład

W poniższym przykładzie przedstawiono akcje i grupy w sekwencji zadań.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.

Sub RecurseTaskSequenceSteps(taskSequence, indent)  

    Dim osdStep   
    Dim i  

    ' Indent each new group.  
    for each osdStep in taskSequence.Steps  

        for i=0 to indent  
            WScript.StdOut.Write " "  
        next  

        If osdStep.SystemProperties_("__CLASS")="SMS_TaskSequence_Group" Then  
            wscript.StdOut.Write "Group: "   
        End If  

        WScript.Echo osdStep.Name  

        ' Recurse into each group found.  
        If osdStep.SystemProperties_("__CLASS")="SMS_TaskSequence_Group" Then  
            If IsNull(osdStep.Steps) Then  
                Wscript.Echo "No steps"  
            Else  
                Call RecurseTaskSequenceSteps (osdStep, indent+3)  
            End If      
        End If  
     Next     
End Sub          
public void RecurseTaskSequenceSteps(  
    IResultObject taskSequence,  
    int indent)  
{  
    try  
    {  
        // The array of SMS_TaskSequence_Steps.  
        List<IResultObject> steps = taskSequence.GetArrayItems("Steps");  

        foreach (IResultObject ro in steps)  
        {  
            for (int i = 0; i < indent; i++)  
            {  
                Console.Write(" ");  
            }  

            if (ro["__CLASS"].StringValue == "SMS_TaskSequence_Group")  
            {  
                Console.Write("Group: ");  
            }  

            Console.WriteLine(ro["Name"].StringValue);  

            // Child groups that are found. Use recursion to view them.  
            if (ro["__CLASS"].StringValue == "SMS_TaskSequence_Group")  
            {  
                this.RecurseTaskSequenceSteps(ro, indent + 3);  
            }  
        }  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed To enumerate task sequence items: " + e.Message);  
        throw;  
    }  
}  

Przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
taskSequence -Zarządzane: IResultObject
- VBScript: SWbemObject
Prawidłowa sekwencja zadań (SMS_TaskSequence). Grupa jest dodawana do tej sekwencji zadań.
indent -Zarządzane: Integer
-Vbscript: Integer
Wcięcie jest używane do spacji danych wyjściowych konsoli dla grup podrzędnych.

Kompilowanie kodu

Ten przykład języka C# wymaga:

Obszary nazw

System

System.collections.generic

System.text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Zestawu

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Niezawodne programowanie

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.

zabezpieczenia .NET Framework

Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.

Zobacz też

Omówienie obiektówJak dodać akcję sekwencji zadań wdrażania systemu operacyjnego
Jak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu kodu zarządzanego
Jak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu usługi WMI
Omówienie sekwencji zadań