Configuration Managerでオーケストレーション グループを作成して使用する

Configuration Manager (現在のブランチ) に適用

オーケストレーション グループを使用すると、パーセンテージ、特定の数値、または明示的な順序に基づいてデバイスを柔軟に更新できます。 デバイスが更新プログラムのデプロイを実行する前と後に PowerShell スクリプトを実行することもできます。

オーケストレーション グループのメンバーは、サーバーだけでなく、任意のConfiguration Managerクライアントにすることができます。 オーケストレーション グループ規則は、オーケストレーション グループ メンバーを含むすべてのコレクションに対するすべてのソフトウェア更新プログラムの展開のデバイスに適用されます。 その他のデプロイ動作は引き続き適用されます。 たとえば、メンテナンス期間やデプロイ スケジュールなどです。

[オーケストレーション グループ] ノードの [スクリプト] タブのスクリーンショット。事前スクリプトは拒否され、この状態は [スクリプト] タブに表示されます。

オーケストレーション グループを作成する

  1. オーケストレーション グループの 前提条件、アクセス許可、制限事項を 確認します。

  2. Configuration Manager コンソールで、[資産とコンプライアンス] ワークスペースに移動し、[オーケストレーション グループ] ノードを選択します。

  3. リボンで、[ オーケストレーション グループの作成 ] を選択して 、オーケストレーション グループの作成ウィザードを開きます。

  4. [ 全般 ] ページで、オーケストレーション グループに [名前] と必要に応じて [説明] を指定します。 次の項目の値を指定します。

    • オーケストレーション グループのタイムアウト (分単位): すべてのグループ メンバーが更新プログラムのインストールを完了するための時間制限。
    • オーケストレーション グループ メンバーのタイムアウト (分単位): 更新プログラムのインストールを完了するためのグループ内の 1 つのデバイスの時間制限。
  5. [ メンバーの選択] ページで、最初に サイト コードを指定します。 次に、[ 追加] を選択して、このオーケストレーション グループのメンバーとしてデバイス リソースを追加します。 名前でデバイスを検索し、[追加] を選択します。 コレクション内の検索を使用して、1 つのコレクション に検索をフィルター処理することもできます。 選択したリソースの一覧へのデバイスの追加が完了したら、[ OK] を選択します

    • グループのリソースを選択すると、有効なクライアントのみが表示されます。 サイト コード、クライアントがインストールされていること、およびリソースが重複していないことを確認するためのチェックが行われます。
  6. [ ルールの選択] ページで 、次のいずれかのオプションを選択します。

    • マシンの割合を同時に更新することを許可し、この割合の数値を選択または入力します。 この設定を使用して、オーケストレーション グループのサイズの将来の柔軟性を確保します。 たとえば、オーケストレーション グループには 50 台のデバイスが含まれており、この値を 10 に設定します。 ソフトウェア更新プログラムの展開中に、Configuration Managerを使用すると、5 台のデバイスで同時に展開を実行できます。 後でオーケストレーション グループのサイズを 100 台のデバイスに増やすと、10 台のデバイスが一度に更新されます。

    • 多数のマシンを同時に更新できるようにしてから、この特定の数の数値を選択または入力します。 オーケストレーション グループの全体的なサイズに関係なく、常に特定の数のデバイスに制限するには、この設定を使用します。

    • メンテナンス シーケンスを指定し、選択したリソースを適切な順序で並べ替えます。 この設定を使用して、デバイスがソフトウェア更新プログラムの展開を実行する順序を明示的に定義します。

  7. 必要に応じて、[スクリプト ピッカー] ページで、オーケストレーション グループのインストール前スクリプトインストール後スクリプトを選択します。

    • 事前スクリプト: デプロイの実行 に各デバイスで実行する PowerShell スクリプト。
    • [スクリプト後 ] ページで、デプロイの実行 に各デバイスで実行する PowerShell スクリプトを入力し、必要に応じて再起動します。 それ以外の場合、動作は PreScript と同じです。

    スクリプトは成功のために の 0 値を返す必要があります。 0 以外の値は、スクリプトエラーと見なされます。 パラメーターを持つスクリプトは使用 できません。最大スクリプト長は 50,000 バイトで、25,000 文字です (Unicode エンコードを使用するため)。 [ スクリプト ピッカー] ページでスクリプトを追加または変更する場合は、次のオプションから選択します。

    • 追加: 追加するスクリプトを選択できます。 PowerShell スクリプトを入力するか、ペインに貼り付けるか、次のいずれかのオプションを使用します。
      • 開く: 特定 .ps1 のファイルを開く
      • 参照: [スクリプト] リストから既に承認されている スクリプトを 選択します。 パラメーターを含むスクリプトは一覧に表示されません。
      • クリア: スクリプト ウィンドウで現在のスクリプトをクリアします
    • 編集: 現在選択されているスクリプトを編集します
    • 削除: 現在のスクリプトを削除します
    • スクリプトのタイムアウト (秒単位): スクリプトがタイムアウトするまでに実行できる時間 (秒単位)
  8. ウィザードを終了します。

警告

  • バージョン 2111 以降では、事前スクリプトと事後スクリプトを有効にするには 承認が必要 です。 承認後にスクリプトを編集すると、承認状態が [ 承認待ち] にリセットされます。 承認されていないスクリプトは、クライアントでは実行されません。
  • バージョン 2103 以降では、パラメーターを持つスクリプトはサポートされておらず 、最大スクリプト長は 50,000 バイトで、25,000 文字です (Unicode エンコードを使用するため)。
  • Configuration Manager 2010 以前の場合は、[スクリプト前] ページと [スクリプト後] ページでオーケストレーション グループにスクリプトを追加します。
    • オーケストレーション グループに使用する前に、事前スクリプトと事後スクリプトがテストされていることを確認します。 事前スクリプトと事後スクリプトはタイムアウトせず、オーケストレーション グループ メンバーのタイムアウトに達するまで実行されます。 パラメーターを持つスクリプトはサポートされておらず 、スクリプトの最大長は 5,000 文字です

オーケストレーション グループ スクリプトの承認

(バージョン 2111 で導入)

バージョン 2111 以降では、オーケストレーション グループの事前スクリプトと事後スクリプトを有効にするには承認が必要です。 ファイルからスクリプトを選択したり、独自のスクリプトを作成したり、変更したりする場合は、別の管理者からスクリプトの承認が必要です。 Scripts ライブラリから承認済みスクリプトを選択する場合、追加の承認は必要ありません。 既定では、ユーザーは作成したスクリプトを承認できません。 これらのロールを使用すると、スクリプトを監視することなく実行する際のセキュリティが強化されます。 テストを容易にするために、階層設定を変更することで、環境の スクリプト承認を無効にすることができます

スクリプトの承認を支援するために、バージョン 2111 の オーケストレーション グループ の詳細ウィンドウに次の 2 つのタブが追加されました。

  • 概要: 選択したオーケストレーション グループに関する情報 (スクリプトの 承認状態 など) が含まれます。
  • スクリプト: 各スクリプトのタイムアウト、承認者、承認状態など、事前スクリプトと事後スクリプトに関する情報を一覧表示します。

事前スクリプトと事後スクリプトの承認状態

各スクリプトの承認状態 が [スクリプト ] タブに表示されます。承認後にスクリプトを編集すると、承認状態がリセットされます。 各スクリプトの 承認状態 を次に定義します。

  • 承認済み: スクリプトが承認されます。 承認は、次のいずれかの方法で付与されます。
    • 承認済みの PowerShell スクリプトの一覧からスクリプトを選択する
    • リボンまたは右クリック メニューから [ 承認 ] を選択して、スクリプトの手動承認を行います。
  • 承認待ち: スクリプトは承認待ちです。 コード エディターで直接記述または編集されたスクリプト、またはファイルから .ps1 インポートされたスクリプトは、この承認状態で開始されます。
  • 拒否: 承認プロセス中にスクリプトが拒否されました。

警告

承認後にスクリプトを編集すると、承認状態が [ 承認待ち] にリセットされます。 これは、以前に承認されたバージョンのスクリプトが、そのスクリプトが [ 承認待ち ] 状態にある間にグループでオーケストレーションを開始した場合、実行されないことも意味します。 承認されていないスクリプトは、クライアントでは実行されません。

ヒント

中断せずにスクリプトを更新する 1 つの方法は、 Scripts ライブラリ に新しいスクリプトを作成して承認を受ける方法です。 次に、 オーケストレーション グループのプリスクリプトまたはポストスクリプトを編集するときに、ライブラリから承認済みスクリプトを選択します。 既に承認されている新しいスクリプトは、既存のスクリプトをすぐに置き換えます。

スクリプトを承認するためのアクセス許可

オーケストレーション グループのスクリプトを承認するには、次のいずれかのセキュリティ ロールが必要です。

  • 完全な管理者
  • オペレーション管理者

オーケストレーション グループのスクリプトを承認または拒否する

  1. Configuration Manager コンソールから、[資産とコンプライアンス] ワークスペース>の [概要>オーケストレーション グループ] に移動します。
  2. オーケストレーション グループを選択し、グループの [スクリプト] タブ を選択します。
  3. いずれかのスクリプトを選択し、リボンまたは右クリック メニューから [承認/拒否 ] を選択します。
  4. スクリプトの承認または拒否ウィザードの [スクリプトの詳細 ] ページから スクリプトを確認 します。 スクリプトの確認が完了したら、[ 次へ ] を選択します。
  5. ウィザードの [ スクリプトの承認 ] ページで、[ 承認 ] または [ 拒否] を選択します。 必要に応じて、[スクリプト] 詳細ウィンドウに表示するコメント 入力します。
  6. ウィザードを完了して、承認プロセスを完了します。

オーケストレーション グループを編集または削除する

オーケストレーション グループを削除するには、それを選択し、リボンまたは右クリック メニューから [ 削除 ] を選択します。 オーケストレーション グループを編集するには、それを選択し、リボンまたは右クリック メニューから [プロパティ ] を選択します。 次のタブから設定を変更します。

  • 全般:

    • 名前: オーケストレーション グループの名前
    • 説明: オーケストレーション グループの説明 (省略可能)
    • オーケストレーション グループのタイムアウト (分単位): すべてのグループ メンバーが更新プログラムのインストールを完了するための時間制限。
    • オーケストレーション グループ メンバーのタイムアウト (分単位): 更新プログラムのインストールを完了するためのグループ内の 1 つのデバイスの時間制限。
  • メンバーの選択:

    • サイト コード: オーケストレーション グループのサイト コード。
    • メンバー: [ 追加] を選択して、オーケストレーション グループのその他のデバイスを選択します。 [ 削除] を 選択して、選択したデバイスを削除します。
  • ルールの選択:

    • マシンの割合を同時に更新することを許可し、この割合の数値を選択または入力します。 この設定を使用して、オーケストレーション グループのサイズの将来の柔軟性を確保します。 たとえば、オーケストレーション グループには 50 台のデバイスが含まれており、この値を 10 に設定します。 ソフトウェア更新プログラムの展開中に、Configuration Managerを使用すると、5 台のデバイスで同時に展開を実行できます。 後でオーケストレーション グループのサイズを 100 台のデバイスに増やすと、10 台のデバイスが一度に更新されます。
    • 多数のマシンを同時に更新できるようにしてから、この特定の数の数値を選択または入力します。 オーケストレーション グループの全体的なサイズに関係なく、常に特定の数のデバイスに制限するには、この設定を使用します。
    • メンテナンス シーケンスを指定する: 選択したリソースを適切な順序で並べ替えます。 この設定を使用して、デバイスがソフトウェア更新プログラムの展開を実行する順序を明示的に定義します。
  • 必要に応じて、オーケストレーション グループ のインストール前スクリプトインストール後スクリプト を選択します。 スクリプトは成功のために の 0 値を返す必要があります。 0 以外の値は、スクリプトエラーと見なされます。 パラメーターを持つスクリプトは使用できません。最大スクリプト長は 50,000 バイトで、25,000 文字です (Unicode エンコードを使用するため)。

    • バージョン 2103 以降Configuration Manager場合は、[スクリプト ピッカー] ページでインストール前スクリプトインストール後スクリプトを選択します。 スクリプトを追加または変更する場合は、次のオプションから選択します。

      • 追加: 追加するスクリプトを選択できます。 PowerShell スクリプトを入力するか、ペインに貼り付けるか、次のいずれかのオプションを使用します。
        • 開く: 特定 .ps1 のファイルを開く
        • 参照: [スクリプト] リストから既に承認されている スクリプトを 選択します。 パラメーターを含むスクリプトは一覧に表示されません。
        • クリア: スクリプト ウィンドウで現在のスクリプトをクリアします
      • 編集: 現在選択されているスクリプトを編集します
      • 削除: 現在のスクリプトを削除します
      • スクリプトのタイムアウト (秒単位): スクリプトがタイムアウトするまでに実行できる時間 (秒単位)
    • バージョン 2010 以前Configuration Manager場合は、[スクリプト前] タブと [スクリプト後] タブでオーケストレーション グループにスクリプトを追加します。

警告

  • バージョン 2111 以降では、事前スクリプトと事後スクリプトを有効にするには 承認が必要 です。 承認後にスクリプトを編集すると、承認状態が [ 承認待ち] にリセットされます。 承認されていないスクリプトは、クライアントでは実行されません。
  • バージョン 2103 以降では、パラメーターを持つスクリプトはサポートされず、最大スクリプト長は 50,000 バイトで、25,000 文字です (Unicode エンコードを使用するため)。
  • Configuration Manager 2010 以前の場合は、[スクリプト前] タブと [スクリプト後] タブでオーケストレーション グループにスクリプトを追加します。
    • オーケストレーション グループに使用する前に、事前スクリプトと事後スクリプトがテストされていることを確認します。 事前スクリプトと事後スクリプトはタイムアウトせず、オーケストレーション グループ メンバーのタイムアウトに達するまで実行されます。 パラメーターを持つスクリプトはサポートされておらず 、スクリプトの最大長は 5,000 文字です

オーケストレーション グループとメンバーを表示する

[ 資産とコンプライアンス ] ワークスペースで、[ オーケストレーション グループ ] ノードを選択します。 メンバーを表示するには、オーケストレーション グループを選択し、リボンで [ メンバーの表示 ] を選択します。 ノードで使用可能な列の詳細については、「 オーケストレーション グループとメンバーの監視」を参照してください。

オーケストレーションを開始する

  1. オーケストレーション グループのメンバーを含むコレクションにソフトウェア更新プログラムを展開します。

  2. オーケストレーションは、グループ内の任意のクライアントが期限またはメンテナンス期間中にソフトウェア更新プログラムをインストールしようとしたときに開始されます。 グループ全体で開始され、オーケストレーション グループルールに従ってデバイスが更新されるようにします。

  3. 手動でオーケストレーションを開始するには、[ オーケストレーション グループ ] ノードからオーケストレーションを選択し、リボンまたは右クリック メニューから [ オーケストレーションの開始 ] を選択します。

  4. 必要に応じて、[ 該当するすべてのウィンドウを無視 する] を選択して、メンバーがすぐにインストールを開始し、メンテナンス期間をバイパスします。

    • このオプションは、Configuration Manager バージョン 2103 で導入されました
  5. オーケストレーション グループが [失敗] 状態の場合:

    1. オーケストレーションが失敗した理由を判断し、問題を解決します。
    2. グループ メンバーのオーケストレーション状態をリセットします。
    3. [ オーケストレーション グループ ] ノードで、[ オーケストレーションの開始 ] ボタンを選択してオーケストレーションを再起動します。

ヒント

  • オーケストレーション グループは、ソフトウェア更新プログラムの展開にのみ適用されます。 他のデプロイには適用されません。
  • オーケストレーション グループ メンバーを右クリックし、[オーケストレーション グループ メンバーの リセット] を選択できます。 これにより、オーケストレーションを再実行できます。

グループ メンバーのオーケストレーション状態をリセットする

グループ メンバーに対してオーケストレーションを再実行する場合は、[ 完了 ] や [失敗] などの状態をクリアできます。 状態をクリアするには、オーケストレーション グループ メンバーを右クリックし、[ オーケストレーション グループ メンバーのリセット] を選択します。 リボンから [ オーケストレーション グループ メンバーのリセット ] を選択することもできます。 状態をリセットする前に、クライアントをチェックして失敗した理由を確認し、見つかった問題を修正する必要があります。

Windows PowerShellを使用して自動化する

次の PowerShell コマンドレットを使用して、これらのタスクの一部を自動化できます。

  • Get-CMOrchestrationGroup: このコマンドレットを使用して、オーケストレーション グループ オブジェクトを名前または ID で取得します。 このオブジェクトを使用して、オーケストレーション グループを開始、削除、または構成できます。

  • Invoke-CMOrchestrationGroup: このコマンドレットを使用してオーケストレーションを開始します。

  • New-CMOrchestrationGroup: このコマンドレットを使用して、新しいオーケストレーション グループを作成します。

  • Remove-CMOrchestrationGroup: オーケストレーション グループを削除するには、このコマンドレットを使用します。

  • Set-CMOrchestrationGroup: このコマンドレットを使用してオーケストレーション グループを構成します。

次の手順