次の方法で共有


別のオペレーティング システム展開タスク シーケンス グループにステップを移動する方法

1 つのオペレーティング システム展開タスク シーケンス グループから別のオペレーティング システム展開タスク シーケンス グループにステップ (アクションまたはグループ) を移動Configuration Manager、ターゲット グループにステップを追加してから、ソース グループからステップを削除します。

あるグループから別のグループにステップを移動するには

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

  2. ソース オブジェクトとターゲット SMS_TaskSequenceGroup オブジェクトを取得します。 ステップを追加するステップをコピーします。 詳細については、「 オペレーティング システム展開タスク シーケンス グループを作成する方法」を参照してください。

  3. ターゲット グループにステップを追加します。 詳細については、「 オペレーティング システム展開グループにステップを追加する方法」を参照してください。

  4. 必要に応じて、ターゲット グループ配列プロパティ内のステップを並べ替えます。 詳細については、「オペレーティング システム展開タスク シーケンスを再注文する方法」を参照してください。

  5. ソース グループからステップを削除します。 詳細については、「 オペレーティング システム展開グループからステップを削除する方法」を参照してください。

次のメソッド例では、あるタスク シーケンス グループから別のタスク シーケンス グループにステップを移動します。

この例を実行 するには、「オペレーティング システム展開グループからステップを削除する方法 」のコード スニペットが必要です。

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

Sub MoveActionToGroup( taskSequenceStep, sourceGroup,targetGroup)  

        Dim steps  
        Dim groupSteps   

        Steps = Array(targetGroup.Steps)  

        If IsNull(targetGroup.Steps) Then  
            groupSteps = Array(taskSequenceStep)  
            targetGroup.Steps = groupSteps  
        Else      
            ReDim steps (UBound (targetGroup.Steps)+1)    
            targetGroup.Steps(UBound(steps))=taskSequenceStep  
        End If      

        Call RemoveActionFromGroup(sourceGroup,taskSequenceStep.Name)  

End Sub  
public void MoveActionToGroup(  
    IResultObject taskSequenceStep,   
    IResultObject sourceGroup,   
    IResultObject targetGroup)  
{  
    try  
    {  
        // Add the step to the target group.   
        // Note. You can use MoveTaskSequenceStepUp and MoveTaskSequenceStepDown  
        // to place the step in the target group.  

        List<IResultObject> groupSteps = targetGroup.GetArrayItems("Steps");  
        groupSteps.Add(taskSequenceStep);  
        targetGroup.SetArrayItems("Steps", groupSteps);  

        // Remove action from the source group.  
        this.RemoveActionFromGroup(sourceGroup, taskSequenceStep["Name"].StringValue);  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to create Task Sequence: " + e.Message);  
        throw;  
    }  
}  

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

パラメーター 説明
taskSequenceStep -管理: IResultObject
- VBScript: SWbemObject
有効なタスク シーケンス ステップ (グループまたはアクション) (SMS_TaskSequence_Step)。
sourceGroup -管理: IResultObject
-Vbscript: SWbemObject
ステップのコピー元のグループ SMS_TaskSequenceGroup
targetGroup -管理: IResultObject
-Vbscript: SWbemObject
ステップのコピー先のグループ SMS_TaskSequenceGroup

コードのコンパイル

この 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 プロバイダーに接続する方法
オペレーティング システム展開タスク シーケンス グループを作成する方法
オペレーティング システム展開グループからステップを削除する方法
タスク シーケンスの概要