Configuration Manager オペレーティング システムの展開タスク シーケンスを作成するには、SMS_TaskSequence クラスのインスタンスを作成します。
タスク シーケンスには、クライアント コンピューターで順番に実行される 1 つ以上の手順が含まれています。 詳細については、「 オペレーティング システム展開タスク シーケンス オブジェクト モデル」を参照してください。
その後、タスク シーケンスは SMS_TaskSequencePackage にパッケージ化され、クライアント コンピューターにアドバタイズされます。
タスク シーケンスを作成するには
SMS プロバイダーへの接続をセットアップします。 詳細については、「 SMS プロバイダーの基礎」を参照してください。
タスク シーケンス
SMS_TaskSequenceオブジェクトを作成します。アクションを追加し、必要に応じてグループをアクションに追加します。 詳細については、「 オペレーティング システムの展開タスク シーケンスのアクションを追加する方法」を参照してください。
タスク シーケンスをタスク シーケンス パッケージに関連付けます。 詳細については、「 オペレーティング システム展開タスク シーケンス パッケージを作成する方法」を参照してください。
タスク シーケンスをクライアント コンピューターに公開します。 詳細については、「 提供情報の作成方法」を参照してください。
例
次のサンプル メソッドでは、ソフトウェア プログラムをインストールするタスク シーケンスを作成します。 また、この例では、「 オペレーティング システム展開タスク シーケンス パッケージを作成する方法」で定義されている例を呼び出して、タスク シーケンス パッケージを作成します。
サンプル コードの呼び出しの詳細については、「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 プロバイダーに接続する方法タスク シーケンスの概要オペレーティング システム展開タスク シーケンス パッケージを作成する方法