Поделиться через


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.

Примечание.

Запустите командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>. Дополнительные сведения см. в статье Начало работы.

Примеры

Пример 1. Изменение типа и указание последовательности

В этом примере сначала используется командлет Get-CMOrchestrationGroup для получения объекта для группы оркестрации с именем ИТ-серверы. Этот объект хранится в переменной og .

Следующая команда определяет массив с именем devices. Он циклически просматривает каждый член группы оркестрации ИТ-серверов ($og.MOGMembers) и передает идентификатор участника командлету Get-CMDevice . Возвращенный объект устройства добавляется в массив devices .

Следующая команда сортирует массив по имени устройства и возвращает идентификаторы ресурсов устройства в переменную sortedIDs .

Затем он разбивает параметры командлета в переменную параметров . Это не обязательно для splat параметры, это просто упрощает чтение параметров для такой длинной командной строки.

Последняя команда настраивает указанную группу оркестрации с определенным порядком последовательности. Он использует параметр 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 , но его можно заменить любым командлетом, который использует идентификатор ресурса устройства в качестве входных данных. Можно также заменить механизм сортировки другой функцией.

Пример 2. Получение содержимого скрипта из файла

В этом примере используется встроенный командлет Get-Content для чтения текста скрипта из локального файла. Текст скрипта сохраняется в переменной postScript . Вторая команда настраивает группу оркестрации с новым пост-скриптом.

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

Параметры

-Confirm

Перед запуском командлет запросит подтверждение.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Description

Укажите необязательное описание для группы оркестрации, чтобы помочь идентифицировать ее.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisableWildcardHandling

Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ForceWildcardHandling

Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Id

Укажите идентификатор настраиваемой группы оркестрации. Это значение является свойством MOGID , которое является целым числом. Например, 16777217.

Тип:Int32
Aliases:MOGID
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Укажите объект для настройки группы оркестрации. Чтобы получить этот объект, используйте командлет Get-CMOrchestrationGroup .

Тип:IResultObject
Aliases:OrchestrationGroup
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-MaxLockTimeOutMin

Укажите целочисленное значение для времени ожидания члена группы оркестрации в минутах. Это значение является ограничением времени для одного устройства в группе для установки обновлений.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MemberResourceIds

Укажите массив идентификаторов ресурсов для устройств, добавляемых в качестве членов этой группы оркестрации. Идентификатор ресурса — это целое число, например 16777220. Это свойство ResourceId на устройстве или объекте ресурса. Чтобы получить объект устройства, используйте командлеты Get-CMDevice или Get-CMResource .

Если для параметра OrchestrationType задано значение Sequence, используйте этот параметр для определения порядка.

Тип:Int32[]
Aliases:MogMembers
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Name

Укажите имя настраиваемой группы оркестрации.

Тип:String
Aliases:OrchestrationGroupName
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NewName

Укажите новое имя для этой группы оркестрации. Используйте этот параметр для переименования группы оркестрации.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OrchestrationTimeOutMin

Укажите целочисленное значение времени ожидания группы оркестрации в минутах. Это значение является ограничением времени для всех участников группы на установку обновлений.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OrchestrationType

Укажите одно из следующих значений для типа группы оркестрации:

  • Number: разрешить одновременное обновление нескольких устройств. Используйте этот параметр, чтобы всегда ограничивать определенное количество устройств независимо от общего размера группы оркестрации. Чтобы указать количество устройств, используйте параметр OrchestrationValue .

  • Percentage: разрешить одновременное обновление определенной части устройств. Используйте этот параметр, чтобы обеспечить гибкость размера группы оркестрации в будущем. Чтобы указать процент, используйте параметр OrchestrationValue .

  • Sequence: явно определите порядок, в котором устройства выполняют развертывание обновлений программного обеспечения. Порядок определяется типом идентификаторов ресурсов устройства в параметре MemberResourceIds .

Тип:OrchestrationTypeValue
Допустимые значения:Number, Percentage, Sequence
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-OrchestrationValue

Укажите целое число для количества или процента устройств, обновляемых одновременно. Используйте этот параметр, если для параметра OrchestrationType задано значение Number или Percentage.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PostScript

Укажите сценарий PowerShell, который будет выполняться на каждом устройстве после запуска развертывания и перезапуска устройства, если это необходимо.

Это строковое значение является текстом самого скрипта. Если в файле есть скрипт, который вы хотите использовать, сначала считайте его в переменную. Например, используйте встроенный командлет Get-Content .

Скрипты должны возвращать значение для успешного 0 выполнения. Любое ненулевое значение считается сбоем скрипта. Нельзя использовать скрипт с параметрами. Максимальная длина скрипта — 50 000 символов.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PostScriptTimeoutSec

Укажите целочисленное значение для допустимого времени в секундах для выполнения скрипта после истечения времени ожидания.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PreScript

Укажите сценарий PowerShell, который будет выполняться на каждом устройстве перед развертыванием.

Это строковое значение является текстом самого скрипта. Если в файле есть скрипт, который вы хотите использовать, сначала считайте его в переменную. Например, используйте встроенный командлет Get-Content .

Скрипты должны возвращать значение для успешного 0 выполнения. Любое ненулевое значение считается сбоем скрипта. Нельзя использовать скрипт с параметрами. Максимальная длина скрипта — 50 000 символов.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-PreScriptTimeoutSec

Укажите целочисленное значение для допустимого времени в секундах для выполнения предварительного скрипта до истечения времени ожидания.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске этого командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Выходные данные

IResultObject

Примечания

Этот командлет возвращает объект для класса WMI SMS_MachineOrchestrationGroup .