Set-CMOrchestrationGroup

オーケストレーション グループを構成します。

構文

Set-CMOrchestrationGroup
   [-InputObject] <IResultObject>
   [-NewName <String>]
   [-Description <String>]
   [-OrchestrationType <OrchestrationTypeValue>]
   [-OrchestrationValue <Int32>]
   [-OrchestrationTimeOutMin <Int32>]
   [-MaxLockTimeOutMin <Int32>]
   [-PreScript <String>]
   [-PreScriptTimeoutSec <Int32>]
   [-PostScript <String>]
   [-PostScriptTimeoutSec <Int32>]
   [-MemberResourceIds <Int32[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMOrchestrationGroup
   [-Id] <Int32>
   [-NewName <String>]
   [-Description <String>]
   [-OrchestrationType <OrchestrationTypeValue>]
   [-OrchestrationValue <Int32>]
   [-OrchestrationTimeOutMin <Int32>]
   [-MaxLockTimeOutMin <Int32>]
   [-PreScript <String>]
   [-PreScriptTimeoutSec <Int32>]
   [-PostScript <String>]
   [-PostScriptTimeoutSec <Int32>]
   [-MemberResourceIds <Int32[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CMOrchestrationGroup
   [-Name] <String>
   [-NewName <String>]
   [-Description <String>]
   [-OrchestrationType <OrchestrationTypeValue>]
   [-OrchestrationValue <Int32>]
   [-OrchestrationTimeOutMin <Int32>]
   [-MaxLockTimeOutMin <Int32>]
   [-PreScript <String>]
   [-PreScriptTimeoutSec <Int32>]
   [-PostScript <String>]
   [-PostScriptTimeoutSec <Int32>]
   [-MemberResourceIds <Int32[]>]
   [-DisableWildcardHandling]
   [-ForceWildcardHandling]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

オーケストレーション グループを構成するには、このコマンドレットを使用します。

オーケストレーション グループを使用して、デバイスへのソフトウェア更新プログラムの展開をより適切に制御します。 特定のワークロードの更新プログラムを慎重に管理したり、その間の動作を自動化したりする必要がある場合があります。 詳細については、「 Configuration Manager でオーケストレーション グループを作成して使用する」を参照してください。

注:

PS XYZ:\>など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。

例 1: 型を変更し、シーケンスを指定する

この例では、最初に Get-CMOrchestrationGroup コマンドレットを使用して 、IT サーバーという名前のオーケストレーション グループのオブジェクトを取得します。 このオブジェクトは og 変数に格納されます。

次のコマンドは、 devices という名前の配列を定義します。 IT サーバー オーケストレーション グループ ($og.MOGMembers) の各メンバーをループし、メンバーの ID を Get-CMDevice コマンドレットに渡します。 返されたデバイス オブジェクトが devices 配列に追加されます。

次のコマンドは、デバイス名で配列を並べ替え、デバイス リソース ID を sortedIDs 変数に返します。

次に、コマンドレット パラメーターを parameters 変数にスプラットします。 パラメーターをスプラッタする必要はありません。これにより、このような長いコマンド ラインのパラメーターを読みやすくなります。

最後のコマンドは、指定したオーケストレーション グループを、シーケンスの定義された順序で構成します。 メンバーの追加や削除ではなく、 MemberResourceIds パラメーターを使用してシーケンスを設定しています。

$og = Get-CMOrchestrationGroup -Name "IT servers"

$devices = @()
foreach ( $id in $og.MOGMembers ) {
  $devices += Get-CMDevice -Id $id -Fast
}

$sortedIDs = ( $devices | Sort-Object -Property Name | Select-Object ResourceId ).ResourceId

$parameters = @{
  InputObject = $og
  Description = "Change type and sequence"
  OrchestrationType = "Sequence"
  MemberResourceIds = $sortedIDs
}

Set-CMOrchestrationGroup @parameters

この例では、既存のメンバーのプログラムによる並べ替えを行う方法を示します。 オーケストレーション グループのメンバーシップが変更されない場合は、次の一般的なプロセスが使用されます。

  1. 既存のメンバー リソース ID を使用します。
  2. 各リソースの詳細を取得します。
  3. その情報の一覧を並べ替えます。
  4. 新しく並べ替えられたリストのリソース ID を返します。

この例では 、Get-CMDevice を使用して詳細情報を取得しますが、デバイス リソース ID を入力として使用するコマンドレットに置き換えることができます。 並べ替えメカニズムを別の関数に置き換えることもできます。

例 2: ファイルからスクリプト コンテンツを取得する

この例では、組み込みの Get-Content コマンドレットを使用して、ローカル ファイルからスクリプト テキストを読み取ります。 スクリプト テキストは postScript 変数に格納されます。 2 番目のコマンドは、新しい事後スクリプトを使用してオーケストレーション グループを構成します。

$postScript - Get-Content -Path "D:\Scripts\OG\Post1.ps1"
Set-CMOrchestrationGroup -InputObject $og -PostScript $postScript

パラメーター

-Confirm

コマンドレットを実行する前に確認メッセージを表示します。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Description

オーケストレーション グループを識別するために、省略可能な説明を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DisableWildcardHandling

このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ForceWildcardHandling

このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Id

構成するオーケストレーション グループの ID を指定します。 この値は 、整数である MOGID プロパティです。 たとえば、「 16777217 」のように入力します。

型:Int32
Aliases:MOGID
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

構成するオーケストレーション グループのオブジェクトを指定します。 このオブジェクトを取得するには、 Get-CMOrchestrationGroup コマンドレットを使用します。

型:IResultObject
Aliases:OrchestrationGroup
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-MaxLockTimeOutMin

オーケストレーション グループ メンバーのタイムアウトの整数値を分単位で指定します。 この値は、更新プログラムをインストールするグループ内の 1 つのデバイスの時間制限です。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MemberResourceIds

このオーケストレーション グループのメンバーとして追加するデバイスのリソース ID の配列を指定します。 リソース ID は整数です (たとえば、 16777220)。 これは、デバイスまたはリソース オブジェクトの ResourceId プロパティです。 デバイス オブジェクトを取得するには、 Get-CMDevice コマンドレットまたは Get-CMResource コマンドレットを使用します。

OrchestrationType パラメーターを Sequence に設定する場合は、このパラメーターを使用して順序を決定します。

型:Int32[]
Aliases:MogMembers
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Name

構成するオーケストレーション グループの名前を指定します。

型:String
Aliases:OrchestrationGroupName
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-NewName

このオーケストレーション グループの新しい名前を指定します。 オーケストレーション グループの名前を変更するには、このパラメーターを使用します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OrchestrationTimeOutMin

オーケストレーション グループのタイムアウトの整数値を分単位で指定します。 この値は、すべてのグループ メンバーが更新プログラムをインストールするための時間制限です。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OrchestrationType

オーケストレーション グループの種類に対して、次のいずれかの値を指定します。

  • Number: 多数のデバイスが同時に更新されるようにします。 オーケストレーション グループの全体的なサイズに関係なく、常に特定の数のデバイスに制限するには、この設定を使用します。 デバイスの数を指定するには、 OrchestrationValue パラメーターを使用します。

  • Percentage: デバイスの割合が同時に更新されるようにします。 この設定を使用して、オーケストレーション グループのサイズの将来の柔軟性を確保します。 割合を指定するには、 OrchestrationValue パラメーターを使用します。

  • Sequence: デバイスがソフトウェア更新プログラムの展開を実行する順序を明示的に定義します。 順序は、 MemberResourceIds パラメーター内のデバイス リソース ID の並べ替えによって決まります。

型:OrchestrationTypeValue
指定可能な値:Number, Percentage, Sequence
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OrchestrationValue

同時に更新するデバイスの数または割合の整数を指定します。 OrchestrationType パラメーターを Number または Percentage に設定する場合は、このパラメーターを使用します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PostScript

展開の実行 に各デバイスで実行する PowerShell スクリプトを指定し、必要に応じてデバイスを再起動します。

この文字列値は、スクリプト自体のテキストです。 使用するファイルにスクリプトがある場合は、最初に変数に読み込みます。 たとえば、組み込みの Get-Content コマンドレットを 使用します。

スクリプトは、成功のために 0 の値を返す必要があります。 0 以外の値は、スクリプトエラーと見なされます。 パラメーターでスクリプトを使用することはできません。 スクリプトの最大長は 50,000 文字です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PostScriptTimeoutSec

ポストスクリプトがタイムアウトする前に実行できる時間の整数値を秒単位で指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PreScript

デプロイを実行する に、各デバイスで実行する PowerShell スクリプトを指定します。

この文字列値は、スクリプト自体のテキストです。 使用するファイルにスクリプトがある場合は、最初に変数に読み込みます。 たとえば、組み込みの Get-Content コマンドレットを 使用します。

スクリプトは、成功のために 0 の値を返す必要があります。 0 以外の値は、スクリプトエラーと見なされます。 パラメーターでスクリプトを使用することはできません。 スクリプトの最大長は 50,000 文字です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PreScriptTimeoutSec

事前スクリプトがタイムアウトする前に実行できる時間の整数値を秒単位で指定します。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

出力

IResultObject

メモ

このコマンドレットは、 SMS_MachineOrchestrationGroup WMI クラスの オブジェクトを返します。