オペレーティング システム展開タスク シーケンスを作成する方法
SMS_TaskSequence クラスのインスタンスを作成して、Configuration Manager オペレーティング システムの展開タスク シーケンスを作成します。
タスク シーケンスには、クライアント コンピューターで順番に実行される 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 |
インストールするソフトウェアを含むパッケージ識別子。 から 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 プロバイダーに接続する方法
タスク シーケンスの概要オペレーティング システム展開タスク シーケンス パッケージを作成する方法