Compartilhar via


Set-CMOrchestrationGroup

Configurar um grupo de orquestração.

Sintaxe

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

Utilize este cmdlet para configurar um grupo de orquestração.

Utilize grupos de orquestração para controlar melhor a implementação de atualizações de software em dispositivos. Poderá ter de gerir cuidadosamente as atualizações de cargas de trabalho específicas ou automatizar comportamentos intermédios. Para obter mais informações, veja Criar e utilizar grupos de orquestração no Configuration Manager.

Observação

Execute cmdlets do Configuration Manager a partir da unidade do site do Configuration Manager, por exemplo PS XYZ:\>. Para obter mais informações, veja Introdução.

Exemplos

Exemplo 1: Alterar o tipo e especificar a sequência

Este exemplo utiliza primeiro o cmdlet Get-CMOrchestrationGroup para obter um objeto para o grupo de orquestração denominado servidores de TI. Armazena este objeto na variável og .

O comando seguinte define uma matriz denominada dispositivos. Percorre cada membro do grupo de orquestração de servidores de TI ($og.MOGMembers) e transmite o ID do membro para o cmdlet Get-CMDevice . O objeto de dispositivo devolvido é anexado à matriz de dispositivos .

O comando seguinte ordena a matriz pelo nome do dispositivo e devolve os IDs de recursos do dispositivo na variável sortedIDs .

Em seguida, introduz os parâmetros do cmdlet na variável parameters . Não é necessário alterar os parâmetros, apenas facilita a leitura dos parâmetros para uma linha de comandos tão longa.

O último comando configura o grupo de orquestração especificado com uma ordem de sequência definida. Está a utilizar o parâmetro MemberResourceIds para definir a sequência, não para adicionar ou remover membros.

$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

Este exemplo mostra como fazer uma ordenação programática dos membros existentes. Se a associação do grupo de orquestração não for alterada, utiliza o seguinte processo geral:

  1. Utilize os IDs de recursos de membro existentes.
  2. Obtenha mais informações sobre cada recurso.
  3. Ordene a lista nessas informações.
  4. Devolva os IDs de recurso da lista recentemente ordenada.

Este exemplo utiliza Get-CMDevice para obter mais informações, mas pode substituí-lo por qualquer cmdlet que utilize o ID do recurso do dispositivo como entrada. Também pode substituir o mecanismo de ordenação por outra função.

Exemplo 2: Obter conteúdo de script de um ficheiro

Este exemplo utiliza o cmdlet Get-Content incorporado para ler o texto do script a partir de um ficheiro local. Armazena o texto do script na variável postScript . O segundo comando configura o grupo de orquestração com o novo pós-script.

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

Parâmetros

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Description

Especifique uma descrição opcional para o grupo de orquestração para ajudar a identificá-lo.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DisableWildcardHandling

Este parâmetro trata os carateres universais como valores de carateres literais. Não pode combiná-lo com ForceWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ForceWildcardHandling

Este parâmetro processa carateres universais e pode levar a um comportamento inesperado (não recomendado). Não pode combiná-lo com DisableWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Id

Especifique o ID do grupo de orquestração a configurar. Este valor é a propriedade MOGID , que é um número inteiro. Por exemplo, 16777217.

Tipo:Int32
Aliases:MOGID
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifique um objeto para o grupo de orquestração configurar. Para obter este objeto, utilize o cmdlet Get-CMOrchestrationGroup .

Tipo:IResultObject
Aliases:OrchestrationGroup
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-MaxLockTimeOutMin

Especifique um valor inteiro para o tempo limite do membro do grupo de orquestração em minutos. Este valor é o limite de tempo para um único dispositivo no grupo instalar as atualizações.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-MemberResourceIds

Especifique uma matriz de IDs de recursos para os dispositivos adicionarem como membros deste grupo de orquestração. O ID do recurso é um número inteiro, por exemplo, 16777220. É a propriedade ResourceId num dispositivo ou objeto de recurso. Para obter um objeto de dispositivo, utilize os cmdlets Get-CMDevice ou Get-CMResource .

Quando definir o parâmetro OrchestrationType como Sequence, utilize este parâmetro para determinar a ordem.

Tipo:Int32[]
Aliases:MogMembers
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Especifique o nome do grupo de orquestração a configurar.

Tipo:String
Aliases:OrchestrationGroupName
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-NewName

Especifique um novo nome para este grupo de orquestração. Utilize este parâmetro para mudar o nome do grupo de orquestração.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-OrchestrationTimeOutMin

Especifique um valor inteiro para o tempo limite do grupo de orquestração em minutos. Este valor é o limite de tempo para todos os membros do grupo instalarem as atualizações.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-OrchestrationType

Especifique um dos seguintes valores para o tipo de grupo de orquestração:

  • Number: permitir que vários dispositivos atualizem ao mesmo tempo. Utilize esta definição para limitar sempre a um número específico de dispositivos, independentemente do tamanho geral do grupo de orquestração. Para especificar o número de dispositivos, utilize o parâmetro OrchestrationValue .

  • Percentage: permitir que uma percentagem dos dispositivos seja atualizada ao mesmo tempo. Utilize esta definição para permitir uma flexibilidade futura do tamanho do grupo de orquestração. Para especificar a percentagem, utilize o parâmetro OrchestrationValue .

  • Sequence: defina explicitamente a ordem pela qual os dispositivos executam a implementação da atualização de software. A ordem é determinada pelo tipo de IDs de recursos do dispositivo no parâmetro MemberResourceIds .

Tipo:OrchestrationTypeValue
Valores aceitos:Number, Percentage, Sequence
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-OrchestrationValue

Especifique um número inteiro para o número ou percentagem de dispositivos a atualizar ao mesmo tempo. Utilize este parâmetro quando definir o parâmetro OrchestrationType como Number ou Percentage.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PostScript

Especifique o script do PowerShell a executar em cada dispositivo após a execução da implementação e o dispositivo reiniciar, se necessário.

Este valor de cadeia é o texto do próprio script. Se tiver um script num ficheiro que pretende utilizar, leia-o primeiro numa variável. Por exemplo, utilize o cmdlet Get-Content incorporado.

Os scripts devem devolver um valor de 0 para êxito. Qualquer valor diferente de zero é considerado uma falha de script. Não pode utilizar um script com parâmetros. O comprimento máximo do script é de 50 000 carateres.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PostScriptTimeoutSec

Especifique o valor inteiro do tempo permitido em segundos para que o pós-script seja executado antes de exceder o limite de tempo.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PreScript

Especifique o script do PowerShell a executar em cada dispositivo antes de a implementação ser executada.

Este valor de cadeia é o texto do próprio script. Se tiver um script num ficheiro que pretende utilizar, leia-o primeiro numa variável. Por exemplo, utilize o cmdlet Get-Content incorporado.

Os scripts devem devolver um valor de 0 para êxito. Qualquer valor diferente de zero é considerado uma falha de script. Não pode utilizar um script com parâmetros. O comprimento máximo do script é de 50 000 carateres.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PreScriptTimeoutSec

Especifique o valor inteiro do tempo permitido em segundos para que o pré-script seja executado antes de exceder o limite de tempo.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostrar o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Saídas

IResultObject

Observações

Este cmdlet devolve um objeto para a classe WMI SMS_MachineOrchestrationGroup.