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
此範例示範如何以程序設計方式排序現有的成員。 如果協調流程群組的成員資格未變更,則會使用下列一般程式:
- 使用現有的成員資源標識碼。
- 取得每個資源的詳細資訊。
- 排序該信息的清單。
- 傳回新排序列表的資源標識碼。
此範例會使用 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-CMDevice 或 Get-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 參數設定為 Number
或 Percentage
時,請使用此參數。
類型: | 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 類別 的 物件。