Configuration Manager でオペレーティング システム展開タスク シーケンスを作成するには、SMS_TaskSequencePackage クラスのインスタンスを作成します。 このクラスは SMS_Package クラスから派生し、タスク シーケンスを保持します。 タスク シーケンスを実行できるクライアントにアドバタイズされます。 タスク シーケンスは、 SMS_TaskSequencePackage クラスの SetSequence メソッドを使用してタスク シーケンス パッケージに関連付けられます。
タスク シーケンス パッケージをカテゴリに整理するには、 SMS_TaskSequence クラスの Category プロパティを使用してカテゴリを割り当てます。
タスク シーケンスの作成の詳細については、「 タスク シーケンスを作成する方法」を参照してください。 タスク シーケンス パッケージの詳細については、「 タスク シーケンス オブジェクト モデル」を参照してください。
タスク シーケンス パッケージのアドバタイズは、Configuration Manager パッケージ SMS_Packageのアドバタイズと同じ方法で行います。 詳細については、「 提供情報の作成方法」を参照してください。
タスク シーケンス パッケージを作成するには
SMS プロバイダーへの接続をセットアップします。 詳細については、「Configuration Manager の SMS プロバイダーについて」を参照してください。
SMS_TaskSequencePackageのインスタンスを作成します。タスク シーケンス パッケージのプロパティを設定します。
SMS_TaskSequencePackageクラスSetSequenceメソッドを呼び出して、タスク シーケンス (SMS_TaskSequence) をタスク シーケンス パッケージに関連付けます。
例
次のサンプル メソッドでは、タスク シーケンス パッケージ (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 プロバイダーに接続する方法タスク シーケンスを作成する方法 タスク シーケンスの概要