Partager via


Set-CMOrchestrationGroup

Configurer un groupe d’orchestration.

Syntaxe

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

Utilisez cette applet de commande pour configurer un groupe d’orchestration.

Utilisez des groupes d’orchestration pour mieux contrôler le déploiement des mises à jour logicielles sur les appareils. Vous devrez peut-être gérer soigneusement les mises à jour pour des charges de travail spécifiques ou automatiser les comportements entre les deux. Pour plus d’informations, consultez Créer et utiliser des groupes d’orchestration dans Configuration Manager.

Remarque

Exécutez des applets de commande Configuration Manager à partir du lecteur de site Configuration Manager, par exemple PS XYZ:\>. Pour plus d’informations, consultez Prise en main.

Exemples

Exemple 1 : Modifier le type et spécifier la séquence

Cet exemple utilise d’abord l’applet de commande Get-CMOrchestrationGroup pour obtenir un objet pour le groupe d’orchestration nommé serveurs informatiques. Il stocke cet objet dans la variable og .

La commande suivante définit un tableau nommé devices. Il effectue une boucle dans chaque membre du groupe d’orchestration des serveurs informatiques ($og.MOGMembers) et transmet l’ID du membre à l’applet de commande Get-CMDevice . L’objet d’appareil retourné est ajouté au tableau d’appareils .

La commande suivante trie le tableau par nom d’appareil et retourne les ID de ressource d’appareil dans la variable tridIDs .

Il place ensuite les paramètres de l’applet de commande dans la variable de paramètres . Il n’est pas nécessaire de plaquer les paramètres. Cela facilite simplement la lecture des paramètres pour une ligne de commande aussi longue.

La dernière commande configure le groupe d’orchestration spécifié avec un ordre de séquence défini. Il utilise le paramètre MemberResourceIds pour définir la séquence, et non pour ajouter ou supprimer des membres.

$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

Cet exemple montre comment effectuer un type programmatique des membres existants. Si l’appartenance au groupe d’orchestration ne change pas, elle utilise le processus général suivant :

  1. Utilisez les ID de ressource de membre existants.
  2. Obtenez plus d’informations sur chaque ressource.
  3. Triez la liste sur ces informations.
  4. Retourne les ID de ressource pour la liste nouvellement triée.

Cet exemple utilise Get-CMDevice pour obtenir plus d’informations, mais vous pouvez le remplacer par n’importe quelle applet de commande qui utilise l’ID de ressource d’appareil comme entrée. Vous pouvez également remplacer le mécanisme de tri par une autre fonction.

Exemple 2 : Obtenir le contenu du script à partir d’un fichier

Cet exemple utilise l’applet de commande Get-Content intégrée pour lire le texte du script à partir d’un fichier local. Il stocke le texte du script dans la variable postScript . La deuxième commande configure le groupe d’orchestration avec le nouveau post-script.

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

Paramètres

-Confirm

Une invite de confirmation apparaît avant d’exécuter le cmdlet.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Description

Spécifiez une description facultative pour le groupe d’orchestration afin de l’identifier.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DisableWildcardHandling

Ce paramètre traite les caractères génériques comme des valeurs de caractère littéral. Vous ne pouvez pas la combiner avec ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ForceWildcardHandling

Ce paramètre traite les caractères génériques et peut entraîner un comportement inattendu (non recommandé). Vous ne pouvez pas la combiner avec DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Id

Spécifiez l’ID du groupe d’orchestration à configurer. Cette valeur est la propriété MOGID , qui est un entier. Par exemple : 16777217.

Type:Int32
Alias:MOGID
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InputObject

Spécifiez un objet pour le groupe d’orchestration à configurer. Pour obtenir cet objet, utilisez l’applet de commande Get-CMOrchestrationGroup .

Type:IResultObject
Alias:OrchestrationGroup
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxLockTimeOutMin

Spécifiez une valeur entière pour le délai d’expiration du membre du groupe d’orchestration en minutes. Cette valeur est la limite de temps pour qu’un seul appareil du groupe installe les mises à jour.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MemberResourceIds

Spécifiez un tableau d’ID de ressource pour les appareils à ajouter en tant que membres de ce groupe d’orchestration. L’ID de ressource est un entier, par exemple. 16777220 Il s’agit de la propriété ResourceId sur un appareil ou un objet de ressource. Pour obtenir un objet d’appareil, utilisez les applets de commande Get-CMDevice ou Get-CMResource .

Lorsque vous définissez le paramètre OrchestrationType sur Sequence, utilisez ce paramètre pour déterminer l’ordre.

Type:Int32[]
Alias:MogMembers
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Name

Spécifiez le nom du groupe d’orchestration à configurer.

Type:String
Alias:OrchestrationGroupName
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NewName

Spécifiez un nouveau nom pour ce groupe d’orchestration. Utilisez ce paramètre pour renommer le groupe d’orchestration.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-OrchestrationTimeOutMin

Spécifiez une valeur entière pour le délai d’expiration du groupe d’orchestration en minutes. Cette valeur est la limite de temps pour que tous les membres du groupe installent les mises à jour.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-OrchestrationType

Spécifiez l’une des valeurs suivantes pour le type de groupe d’orchestration :

  • Number: autorisez un certain nombre d’appareils à mettre à jour en même temps. Utilisez ce paramètre pour toujours limiter à un nombre spécifique d’appareils, quelle que soit la taille globale du groupe d’orchestration. Pour spécifier le nombre d’appareils, utilisez le paramètre OrchestrationValue .

  • Percentage: autorisez un pourcentage des appareils à mettre à jour en même temps. Utilisez ce paramètre pour permettre une flexibilité future de la taille du groupe d’orchestration. Pour spécifier le pourcentage, utilisez le paramètre OrchestrationValue .

  • Sequence: définissez explicitement l’ordre dans lequel les appareils exécutent le déploiement des mises à jour logicielles. L’ordre est déterminé par le type des ID de ressource d’appareil dans le paramètre MemberResourceIds .

Type:OrchestrationTypeValue
Valeurs acceptées:Number, Percentage, Sequence
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-OrchestrationValue

Spécifiez un entier pour le nombre ou le pourcentage d’appareils à mettre à jour en même temps. Utilisez ce paramètre lorsque vous définissez le paramètre OrchestrationType sur Number ou Percentage.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PostScript

Spécifiez le script PowerShell à exécuter sur chaque appareil après l’exécution du déploiement et le redémarrage de l’appareil, si nécessaire.

Cette valeur de chaîne est le texte du script lui-même. Si vous avez un script dans un fichier que vous souhaitez utiliser, commencez par le lire dans une variable. Par exemple, utilisez l’applet de commande Get-Content intégrée.

Les scripts doivent retourner une valeur de 0 réussite. Toute valeur différente de zéro est considérée comme un échec de script. Vous ne pouvez pas utiliser de script avec des paramètres. La longueur maximale du script est de 50 000 caractères.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PostScriptTimeoutSec

Spécifiez la valeur entière pour la durée autorisée en secondes pour l’exécution du post-script avant son expiration.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PreScript

Spécifiez le script PowerShell à exécuter sur chaque appareil avant l’exécution du déploiement.

Cette valeur de chaîne est le texte du script lui-même. Si vous avez un script dans un fichier que vous souhaitez utiliser, commencez par le lire dans une variable. Par exemple, utilisez l’applet de commande Get-Content intégrée.

Les scripts doivent retourner une valeur de 0 réussite. Toute valeur différente de zéro est considérée comme un échec de script. Vous ne pouvez pas utiliser de script avec des paramètres. La longueur maximale du script est de 50 000 caractères.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PreScriptTimeoutSec

Spécifiez la valeur entière pour la durée autorisée en secondes pour que le pré-script s’exécute avant son expiration.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Présente ce qui se produit si le cmdlet s’exécute. L’applet de commande ne s’exécute pas.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Sorties

IResultObject

Notes

Cette applet de commande retourne un objet pour la classe WMI SMS_MachineOrchestrationGroup .