次の方法で共有


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

SMS_TaskSequencePackage クラスのインスタンスを作成して、オペレーティング システムの展開タスク シーケンスをConfiguration Managerで作成します。 このクラスは 、SMS_Package クラスから派生し、タスク シーケンスを保持します。 タスク シーケンスを実行できるクライアントにアドバタイズされます。 タスク シーケンスは、SMS_TaskSequencePackage クラス SetSequence メソッドを使用して、タスク シーケンス パッケージに関連付けられます。

タスク シーケンス パッケージをカテゴリに編成するには、 SMS_TaskSequence クラス Category プロパティを使用してカテゴリを割り当てます。

タスク シーケンスの作成の詳細については、「タスク シーケンス を作成する方法」を参照してください。 タスク シーケンス パッケージの詳細については、「 タスク シーケンス オブジェクト モデル」を参照してください。

タスク シーケンス パッケージは、Configuration Manager パッケージ SMS_Packageをアドバタイズするのと同じ方法でアドバタイズします。 詳細については、「 提供情報を作成する方法」を参照してください。

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

  1. SMS プロバイダーへの接続を設定します。 詳細については、「Configuration Managerの SMS プロバイダーについて」を参照してください。

  2. SMS_TaskSequencePackageのインスタンスを作成します。

  3. タスク シーケンス パッケージのプロパティを設定します。

  4. タスク シーケンス (SMS_TaskSequence) をタスク シーケンス パッケージに関連付けるには、SMS_TaskSequencePackage クラス SetSequence メソッドを呼び出します。

次のメソッド例では、タスク シーケンス パッケージ (SMS_TaskSequencePackage) を作成し、タスク シーケンス (SMS_TaskSequence) をそれに関連付けます。

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

Sub CreateTaskSequencePackage (connection, taskSequence)

    Dim taskSequencePackage
    Dim packageClass
    Dim objInParams
    Dim objOutParams

    ' Create the new package object.
    Set taskSequencePackage = connection.Get("SMS_TaskSequencePackage").SpawnInstance_

    ' Populate the new package properties.
    taskSequencePackage.Name = "New task sequence package"
    taskSequencePackage.Description = "A new task sequence package description"

    ' Get the parameters object.
    Set packageClass = connection.Get("SMS_TaskSequencePackage")

    Set objInParams = packageClass.Methods_("SetSequence"). _
        inParameters.SpawnInstance_()

    ' Add the input parameters.
    objInParams.TaskSequence =  taskSequence
    objInParams.TaskSequencePackage = taskSequencePackage

    ' Add the sequence.
     Set objOutParams = connection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", objInParams)

End Sub

public IResultObject CreateTaskSequencePackage(
    WqlConnectionManager connection,
    IResultObject taskSequence)
{
    try
    {
        Dictionary<string, object> inParams = new Dictionary<string, object>();

        // Create the new task sequence package.
        IResultObject taskSequencePackage = connection.CreateInstance("SMS_TaskSequencePackage");

        taskSequencePackage["Name"].StringValue = "New task sequence package";
        taskSequencePackage["Description"].StringValue = "A brand new task sequence package";
        taskSequencePackage["Category"].StringValue = "A custom category";

        // Note. Add other package properties as required.

        // Set up parameters that associate the task sequence with the package.
        inParams.Add("TaskSequence", taskSequence);
        inParams.Add("TaskSequencePackage", taskSequencePackage);

        // Associate the task sequence with the package. Note that a call to Put is not required.
        IResultObject result = connection.ExecuteMethod("SMS_TaskSequencePackage", "SetSequence", inParams);

        // The path to the new package.
        Console.WriteLine(result["SavedTaskSequencePackagePath"].StringValue);

        return taskSequencePackage;
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);
        throw;
    }
}

この例のメソッドには、次のパラメーターがあります。

パラメーター 説明
connection -管理: WqlConnectionManager
- VBScript: SWbemServices
SMS プロバイダーへの有効な接続。
taskSequence -管理: IResultObject
- VBScript: SWbemObject
有効なタスク シーケンス SMS_TaskSequence

コードのコンパイル

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 プロバイダーに接続する方法 タスク シーケンスを作成する方法タスク シーケンスの概要