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

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 プロバイダーに接続する方法タスク シーケンスの概要オペレーティング システム展開タスク シーケンス パッケージを作成する方法