オペレーティング システム展開タスク シーケンスを作成する方法

Configuration Manager オペレーティング システムの展開タスク シーケンスを作成するには、SMS_TaskSequence クラスのインスタンスを作成します。

タスク シーケンスには、クライアント コンピューターで順番に実行される 1 つ以上の手順が含まれています。 詳細については、「 オペレーティング システム展開タスク シーケンス オブジェクト モデル」を参照してください。

その後、タスク シーケンスは SMS_TaskSequencePackage にパッケージ化され、クライアント コンピューターにアドバタイズされます。

タスク シーケンスを作成するには

  1. SMS プロバイダーへの接続をセットアップします。 詳細については、「 SMS プロバイダーの基礎」を参照してください。

  2. タスク シーケンス SMS_TaskSequence オブジェクトを作成します。

  3. アクションを追加し、必要に応じてグループをアクションに追加します。 詳細については、「 オペレーティング システムの展開タスク シーケンスのアクションを追加する方法」を参照してください。

  4. タスク シーケンスをタスク シーケンス パッケージに関連付けます。 詳細については、「 オペレーティング システム展開タスク シーケンス パッケージを作成する方法」を参照してください。

  5. タスク シーケンスをクライアント コンピューターに公開します。 詳細については、「 提供情報の作成方法」を参照してください。

例

次のサンプル メソッドでは、ソフトウェア プログラムをインストールするタスク シーケンスを作成します。 また、この例では、「 オペレーティング システム展開タスク シーケンス パッケージを作成する方法」で定義されている例を呼び出して、タスク シーケンス パッケージを作成します。

サンプル コードの呼び出しの詳細については、「Configuration Manager コード スニペットの呼び出し」を参照してください。

Sub CreateInstallSoftwareTaskSequence(connection,name, description, packageID, programName)

    ' Create the task sequence.
    set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_

    ' Create the action.
    set action = connection.Get("SMS_TaskSequence_InstallSoftwareAction").SpawnInstance_

    action.ProgramName=programName
    action.PackageID=packageID
    action.Name=name
    action.Enabled=true
    action.ContinueOnError=false

    ' Create an array to hold the action.
    actionSteps= array(action)
    ' Add the array to the task sequence.
    taskSequence.Steps=actionSteps

    wscript.echo taskSequence.Steps(0).Name
    call CreateTaskSequencePackage (connection, taskSequence)

 End Sub
public void CreateInstallSoftwareTaskSequence(
    WqlConnectionManager connection,
    string name,
    string packageId,
    string programName)
{
    try
    {
        // Create the task sequence.
        IResultObject taskSequence = connection.CreateInstance("SMS_TaskSequence");

        IResultObject ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_InstallSoftwareAction");
        ro["ProgramName"].StringValue = programName;
        ro["packageId"].StringValue = packageId;
        ro["Name"].StringValue = name;
        ro["Enabled"].BooleanValue = true;
        ro["ContinueOnError"].BooleanValue = false;

        // Add the step to the task sequence.
        List<IResultObject> array = taskSequence.GetArrayItems("Steps");

        array.Add(ro);

        taskSequence.SetArrayItems("Steps", array);

        // Create the task sequence package.
        this.CreateTaskSequencePackage(connection, taskSequence);
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);
        throw;
    }
}

サンプル メソッドには、次のパラメータがあります:

パラメーター 型 説明
Connection - 管理対象: WqlConnectionManager
- VBScript: SWbemServices
SMS プロバイダーへの有効な接続。
name - 管理対象: String
- VBScript: String
タスク シーケンスのステップ名。
description - VBScript: String タスク シーケンスのステップの説明。
packageID - 管理対象: String
- VBScript: String
インストールするソフトウェアを含むパッケージ ID。 SMS_Package.PackageIDから取得。
programName - 管理対象: String
- VBScript: String
インストールするプログラムの名前。 SMS_Program.ProgramNameから取得。

コードのコンパイル

この C# の例では、次のものが必要です。

名前空間

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

Microsoft.ConfigurationManagement.ManagementProvider

adminui.wqlqueryengine

堅牢なプログラミング

エラー処理の詳細については、「Configuration Manager のエラーについて」を参照してください。

.NET Framework のセキュリティ

Configuration Manager アプリケーションのセキュリティ保護の詳細については、「Configuration Manager ロールベースの管理」を参照してください。

関連項目

オブジェクトの概要マネージ コードを使用して Configuration Manager の SMS プロバイダーに接続する方法WMI を使用して Configuration Manager の SMS プロバイダーに接続する方法タスク シーケンスの概要オペレーティング システム展開タスク シーケンス パッケージを作成する方法