共用方式為


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>]

Description

使用此 Cmdlet 來設定協調流程群組。

使用協調流程群組,以更有效地控制將軟體更新部署至裝置。 您可能需要仔細管理特定工作負載的更新,或將兩者之間的行為自動化。 如需詳細資訊,請參閱在 Configuration Manager 中建立和使用協調流程群組

注意事項

從Configuration Manager月臺磁片磁碟機執行 Configuration Manager Cmdlet,例如 PS XYZ:\> 。 如需詳細資訊,請 參閱開始使用

範例

範例 1:變更類型並指定序列

此範例會先使用 Get-CMOrchestrationGroup Cmdlet 來取得名為 IT 伺服器之協調流程群組的物件。 它會將此物件儲存在 og 變數中。

下一個命令會定義名為 devices 的陣列。 它會迴圈查看 IT 伺服器 協調流程群組的每個成員 ($og.MOGMembers) ,並將成員的識別碼傳遞至 Get-CMDevice Cmdlet。 傳回的裝置物件會附加至 devices 數 組。

下一個命令會依裝置名稱排序陣列,並將裝置資源識別碼傳回 至 sortedID 變數。

然後,它會將 Cmdlet 參數展開至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. 使用現有的成員資源識別碼。
  2. 取得每個資源的詳細資訊。
  3. 排序該資訊的清單。
  4. 傳回新排序清單的資源識別碼。

此範例使用 Get-CMDevice 取得詳細資訊,但您可以將它取代為使用裝置資源識別碼做為輸入的任何 Cmdlet。 您也可以將排序機制取代為另一個函式。

範例 2:從檔案取得腳本內容

此範例會使用內建的 Get-Content Cmdlet,從本機檔案讀取腳本文字。 它會將腳本文字儲存在 postScript 變數中。 第二個命令會使用新的後置腳本來設定協調流程群組。

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

參數

-Confirm

執行 Cmdlet 之前提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Description

指定協調流程群組的選擇性描述,以協助識別它。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DisableWildcardHandling

此參數會將萬用字元視為常值字元值。 您無法將其與 ForceWildcardHandling結合。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ForceWildcardHandling

此參數會處理萬用字元,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling結合。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Id

指定要設定之協調流程群組的識別碼。 這個值是 MOGID 屬性,也就是整數。 例如,16777217

類型:Int32
別名:MOGID
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-InputObject

指定要設定之協調流程群組的物件。 若要取得此物件,請使用 Get-CMOrchestrationGroup Cmdlet。

類型:IResultObject
別名:OrchestrationGroup
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-MaxLockTimeOutMin

以分鐘為單位指定協調流程群組成員逾時的整數值。 此值是群組中單一裝置安裝更新的時間限制。

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MemberResourceIds

指定要新增為此協調流程群組成員之裝置的資源識別碼陣列。 資源識別碼是整數,例如 。 16777220 它是裝置或資源物件上的 ResourceId 屬性。 若要取得裝置物件,請使用 Get-CMDeviceGet-CMResource Cmdlet。

當您將 OrchestrationType 參數設定為 Sequence 時,請使用此參數來判斷順序。

類型:Int32[]
別名:MogMembers
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Name

指定要設定之協調流程群組的名稱。

類型:String
別名:OrchestrationGroupName
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-NewName

指定此協調流程群組的新名稱。 使用此參數來重新命名協調流程群組。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-OrchestrationTimeOutMin

以分鐘為單位指定協調流程群組逾時的整數值。 此值是所有群組成員安裝更新的時間限制。

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-OrchestrationType

針對協調流程群組的類型指定下列其中一個值:

  • Number:允許一些裝置同時更新。 使用此設定可一律限制特定數量的裝置,不論協調流程群組的整體大小為何。 若要指定裝置數目,請使用 OrchestrationValue 參數。

  • Percentage:允許一定百分比的裝置同時更新。 使用此設定可讓協調流程群組的大小在未來有彈性。 若要指定百分比,請使用 OrchestrationValue 參數。

  • Sequence:明確定義裝置執行軟體更新部署的順序。 順序取決於 MemberResourceIds 參數中的裝置資源識別碼排序。

類型:OrchestrationTypeValue
接受的值:Number, Percentage, Sequence
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-OrchestrationValue

針對要同時更新的裝置數目或百分比指定整數。 當您將 OrchestrationType 參數設定為 NumberPercentage 時,請使用此參數。

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PostScript

指定在部署執行 之後 在每個裝置上執行的 PowerShell 腳本,並在必要時重新開機裝置。

此字串值是腳本本身的文字。 如果您的檔案中有想要使用的腳本,請先將它讀入變數中。 例如,使用內建的 Get-Content Cmdlet。

腳本應該會傳回 的 0 值,以獲得成功。 任何非零值都會被視為腳本失敗。 您無法搭配參數使用腳本。 腳本長度上限為 50,000 個字元。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PostScriptTimeoutSec

指定後置腳本在逾時前以秒為單位所允許時間的整數值。

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PreScript

指定在部署執行 之前 ,要在每個裝置上執行的 PowerShell 腳本。

此字串值是腳本本身的文字。 如果您的檔案中有想要使用的腳本,請先將它讀入變數中。 例如,使用內建的 Get-Content Cmdlet。

腳本應該會傳回 的 0 值,以獲得成功。 任何非零值都會被視為腳本失敗。 您無法搭配參數使用腳本。 腳本長度上限為 50,000 個字元。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PreScriptTimeoutSec

指定前置腳本在逾時前以秒為單位所允許時間的整數值。

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 時會發生什麼情況。 Cmdlet 不會執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

輸出

IResultObject

備註

此 Cmdlet 會傳回SMS_MachineOrchestrationGroup WMI 類別 物件。