オペレーティング システム展開タスク シーケンスを作成する方法
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 プロバイダーに接続する方法
タスク シーケンスの概要オペレーティング システム展開タスク シーケンス パッケージを作成する方法
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示