Set-CMOrchestrationGroup

Configurar un grupo de orquestación.

Syntax

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

Use este cmdlet para configurar un grupo de orquestación.

Use grupos de orquestación para controlar mejor la implementación de actualizaciones de software en dispositivos. Es posible que tenga que administrar cuidadosamente las actualizaciones de cargas de trabajo específicas o automatizar los comportamientos entre ellos. Para obtener más información, vea Crear y usar grupos de orquestación en Configuration Manager.

Nota:

Ejecute cmdlets de Configuration Manager desde la unidad de sitio Configuration Manager, por ejemploPS XYZ:\>. Para obtener más información, consulte Introducción.

Ejemplos

Ejemplo 1: Cambiar el tipo y especificar la secuencia

En este ejemplo se usa primero el cmdlet Get-CMOrchestrationGroup para obtener un objeto para el grupo de orquestación denominado servidores de TI. Almacena este objeto en la variable og .

El siguiente comando define una matriz denominada devices. Recorre en bucle cada miembro del grupo de orquestación de servidores de TI ($og.MOGMembers) y pasa el identificador del miembro al cmdlet Get-CMDevice . El objeto de dispositivo devuelto se anexa a la matriz de dispositivos .

El siguiente comando ordena la matriz por nombre de dispositivo y devuelve los identificadores de recurso de dispositivo en la variable sortedIDs .

A continuación, salpica los parámetros del cmdlet en la variable parameters . No es necesario salpicar los parámetros, simplemente facilita la lectura de los parámetros de una línea de comandos tan larga.

El último comando configura el grupo de orquestación especificado con un orden de secuencia definido. Usa el parámetro MemberResourceIds para establecer la secuencia, no agregar ni quitar miembros.

$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

En este ejemplo se muestra cómo realizar una ordenación mediante programación de los miembros existentes. Si la pertenencia al grupo de orquestación no cambia, usa el siguiente proceso general:

  1. Use los identificadores de recursos de miembro existentes.
  2. Obtenga más información sobre cada recurso.
  3. Ordene la lista en esa información.
  4. Devuelve los identificadores de recurso de la lista recién ordenada.

En este ejemplo se usa Get-CMDevice para obtener más información, pero puede reemplazarla por cualquier cmdlet que use el identificador de recurso de dispositivo como entrada. También puede reemplazar el mecanismo de ordenación por otra función.

Ejemplo 2: Obtener contenido de script de un archivo

En este ejemplo se usa el cmdlet Get-Content integrado para leer el texto del script de un archivo local. Almacena el texto del script en la variable postScript . El segundo comando configura el grupo de orquestación con el nuevo script posterior.

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

Parámetros

-Confirm

Solicitará confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Especifique una descripción opcional para el grupo de orquestación para ayudar a identificarlo.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

Este parámetro trata los caracteres comodín como valores de caracteres literales. No se puede combinar con ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

Este parámetro procesa caracteres comodín y puede provocar un comportamiento inesperado (no recomendado). No se puede combinar con DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Especifique el identificador del grupo de orquestación que se va a configurar. Este valor es la propiedad MOGID , que es un entero. Por ejemplo, 16777217.

Type:Int32
Aliases:MOGID
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Especifique un objeto para el grupo de orquestación que se va a configurar. Para obtener este objeto, use el cmdlet Get-CMOrchestrationGroup .

Type:IResultObject
Aliases:OrchestrationGroup
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaxLockTimeOutMin

Especifique un valor entero para el tiempo de espera del miembro del grupo de orquestación en minutos. Este valor es el límite de tiempo para que un único dispositivo del grupo instale las actualizaciones.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemberResourceIds

Especifique una matriz de identificadores de recursos para que los dispositivos se agreguen como miembros de este grupo de orquestación. El identificador de recurso es un entero, por ejemplo, 16777220. Es la propiedad ResourceId en un dispositivo o objeto de recurso. Para obtener un objeto de dispositivo, use los cmdlets Get-CMDevice o Get-CMResource .

Cuando establezca el parámetro OrchestrationType en Sequence, use este parámetro para determinar el orden.

Type:Int32[]
Aliases:MogMembers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Especifique el nombre del grupo de orquestación que se va a configurar.

Type:String
Aliases:OrchestrationGroupName
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NewName

Especifique un nuevo nombre para este grupo de orquestación. Use este parámetro para cambiar el nombre del grupo de orquestación.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OrchestrationTimeOutMin

Especifique un valor entero para el tiempo de espera del grupo de orquestación en minutos. Este valor es el límite de tiempo para que todos los miembros del grupo instalen las actualizaciones.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OrchestrationType

Especifique uno de los siguientes valores para el tipo de grupo de orquestación:

  • Number: permite que varios de los dispositivos se actualicen al mismo tiempo. Use esta configuración para limitar siempre a un número específico de dispositivos, sea cual sea el tamaño general del grupo de orquestación. Para especificar el número de dispositivos, use el parámetro OrchestrationValue .

  • Percentage: permite que un porcentaje de los dispositivos se actualice al mismo tiempo. Use esta configuración para permitir una flexibilidad futura del tamaño del grupo de orquestación. Para especificar el porcentaje, use el parámetro OrchestrationValue .

  • Sequence: defina explícitamente el orden en el que los dispositivos ejecutan la implementación de actualizaciones de software. El orden viene determinado por el tipo de identificadores de recurso de dispositivo en el parámetro MemberResourceIds .

Type:OrchestrationTypeValue
Accepted values:Number, Percentage, Sequence
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OrchestrationValue

Especifique un entero para el número o porcentaje de dispositivos que se van a actualizar al mismo tiempo. Use este parámetro cuando establezca el parámetro OrchestrationType en Number o Percentage.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PostScript

Especifique el script de PowerShell que se ejecutará en cada dispositivo después de que se ejecute la implementación y se reinicie el dispositivo, si es necesario.

Este valor de cadena es el texto del propio script. Si tiene un script en un archivo que desea usar, léelo primero en una variable. Por ejemplo, use el cmdlet Get-Content integrado.

Los scripts deben devolver un valor de 0 para que se realice correctamente. Cualquier valor distinto de cero se considera un error de script. No se puede usar un script con parámetros. La longitud máxima del script es de 50 000 caracteres.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PostScriptTimeoutSec

Especifique el valor entero del tiempo permitido en segundos para que el script posterior se ejecute antes de agotar el tiempo de espera.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PreScript

Especifique el script de PowerShell que se ejecutará en cada dispositivo antes de que se ejecute la implementación.

Este valor de cadena es el texto del propio script. Si tiene un script en un archivo que desea usar, léelo primero en una variable. Por ejemplo, use el cmdlet Get-Content integrado.

Los scripts deben devolver un valor de 0 para que se realice correctamente. Cualquier valor distinto de cero se considera un error de script. No se puede usar un script con parámetros. La longitud máxima del script es de 50 000 caracteres.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PreScriptTimeoutSec

Especifique el valor entero del tiempo permitido en segundos para que se ejecute el script anterior antes de agotar el tiempo de espera.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Muestra lo que ocurriría si se ejecuta el cmdlet. El cmdlet no se ejecuta.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Salidas

IResultObject

Notas

Este cmdlet devuelve un objeto para la clase WMI de SMS_MachineOrchestrationGroup .