Condividi tramite


Set-CMOrchestrationGroup

Configurare un gruppo di orchestrazione.

Sintassi

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>]

Descrizione

Usare questo cmdlet per configurare un gruppo di orchestrazione.

Usare i gruppi di orchestrazione per controllare meglio la distribuzione degli aggiornamenti software nei dispositivi. Potrebbe essere necessario gestire con attenzione gli aggiornamenti per carichi di lavoro specifici o automatizzare i comportamenti intermedi. Per altre informazioni, vedere Creare e usare gruppi di orchestrazione in Configuration Manager.

Nota

Eseguire i cmdlet di Configuration Manager dall'unità del sito di Configuration Manager, ad esempio PS XYZ:\>. Per altre informazioni, vedere Introduzione.

Esempio

Esempio 1: Modificare il tipo e specificare la sequenza

Questo esempio usa innanzitutto il cmdlet Get-CMOrchestrationGroup per ottenere un oggetto per il gruppo di orchestrazione denominato server IT. Archivia questo oggetto nella variabile og .

Il comando successivo definisce una matrice denominata devices. Esegue il ciclo di ogni membro del gruppo di orchestrazione dei server IT ($og.MOGMembers) e passa l'ID del membro al cmdlet Get-CMDevice . L'oggetto dispositivo restituito viene aggiunto alla matrice devices .

Il comando successivo ordina la matrice in base al nome del dispositivo e restituisce gli ID risorsa del dispositivo nella variabile sortedID .

Esegue quindi lo splat dei parametri del cmdlet nella variabile parameters . Non è necessario eseguire lo splat dei parametri, ma semplifica la lettura dei parametri per una riga di comando così lunga.

L'ultimo comando configura il gruppo di orchestrazione specificato con un ordine di sequenza definito. Usa il parametro MemberResourceIds per impostare la sequenza, non aggiungere o rimuovere membri.

$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

In questo esempio viene illustrato come eseguire un tipo a livello di codice dei membri esistenti. Se l'appartenenza al gruppo di orchestrazione non cambia, usa il processo generale seguente:

  1. Usare gli ID risorsa membro esistenti.
  2. Ottenere altre informazioni su ogni risorsa.
  3. Ordinare l'elenco in base a tali informazioni.
  4. Restituisce gli ID risorsa per l'elenco appena ordinato.

Questo esempio usa Get-CMDevice per ottenere altre informazioni, ma è possibile sostituirlo con qualsiasi cmdlet che usa l'ID risorsa del dispositivo come input. È anche possibile sostituire il meccanismo di ordinamento con un'altra funzione.

Esempio 2: Ottenere il contenuto dello script da un file

Questo esempio usa il cmdlet Get-Content predefinito per leggere il testo dello script da un file locale. Archivia il testo dello script nella variabile postScript . Il secondo comando configura il gruppo di orchestrazione con il nuovo post-script.

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

Parametri

-Confirm

Richiede la conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Description

Specificare una descrizione facoltativa per il gruppo di orchestrazione per identificarlo.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisableWildcardHandling

Questo parametro considera i caratteri jolly come valori letterali. Non è possibile combinarlo con ForceWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForceWildcardHandling

Questo parametro elabora caratteri jolly e può causare un comportamento imprevisto (non consigliato). Non è possibile combinarlo con DisableWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Id

Specificare l'ID del gruppo di orchestrazione da configurare. Questo valore è la proprietà MOGID , che è un numero intero. Ad esempio, 16777217.

Tipo:Int32
Alias:MOGID
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Specificare un oggetto da configurare per il gruppo di orchestrazione. Per ottenere questo oggetto, usare il cmdlet Get-CMOrchestrationGroup .

Tipo:IResultObject
Alias:OrchestrationGroup
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-MaxLockTimeOutMin

Specificare un valore intero per il timeout dei membri del gruppo di orchestrazione in minuti. Questo valore è il limite di tempo per l'installazione degli aggiornamenti per un singolo dispositivo nel gruppo.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MemberResourceIds

Specificare una matrice di ID risorsa per i dispositivi da aggiungere come membri di questo gruppo di orchestrazione. L'ID risorsa è un numero intero, ad esempio 16777220. Si tratta della proprietà ResourceId in un dispositivo o un oggetto risorsa. Per ottenere un oggetto dispositivo, usare i cmdlet Get-CMDevice o Get-CMResource .

Quando si imposta il parametro OrchestrationType su Sequence, usare questo parametro per determinare l'ordine.

Tipo:Int32[]
Alias:MogMembers
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Name

Specificare il nome del gruppo di orchestrazione da configurare.

Tipo:String
Alias:OrchestrationGroupName
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NewName

Specificare un nuovo nome per questo gruppo di orchestrazione. Usare questo parametro per rinominare il gruppo di orchestrazione.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OrchestrationTimeOutMin

Specificare un valore intero per il timeout del gruppo di orchestrazione in minuti. Questo valore è il limite di tempo per tutti i membri del gruppo per installare gli aggiornamenti.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OrchestrationType

Specificare uno dei valori seguenti per il tipo di gruppo di orchestrazione:

  • Number: consente a un certo numero di dispositivi di eseguire l'aggiornamento contemporaneamente. Usare questa impostazione per limitare sempre a un numero specifico di dispositivi, indipendentemente dalle dimensioni complessive del gruppo di orchestrazione. Per specificare il numero di dispositivi, usare il parametro OrchestrationValue .

  • Percentage: consente l'aggiornamento contemporaneamente di una percentuale dei dispositivi. Usare questa impostazione per consentire una flessibilità futura delle dimensioni del gruppo di orchestrazione. Per specificare la percentuale, usare il parametro OrchestrationValue .

  • Sequence: definire in modo esplicito l'ordine in cui i dispositivi eseguono la distribuzione dell'aggiornamento software. L'ordine è determinato dall'ordinamento degli ID risorsa del dispositivo nel parametro MemberResourceIds .

Tipo:OrchestrationTypeValue
Valori accettati:Number, Percentage, Sequence
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OrchestrationValue

Specificare un numero intero per il numero o la percentuale di dispositivi da aggiornare contemporaneamente. Usare questo parametro quando si imposta il parametro OrchestrationType su Number o Percentage.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PostScript

Specificare lo script di PowerShell da eseguire in ogni dispositivo dopo l'esecuzione della distribuzione e il riavvio del dispositivo, se necessario.

Questo valore stringa è il testo dello script stesso. Se si dispone di uno script in un file che si vuole usare, leggerlo prima in una variabile. Ad esempio, usare il cmdlet Get-Content predefinito.

Gli script devono restituire un valore di per l'esito 0 positivo. Qualsiasi valore diverso da zero viene considerato un errore di script. Non è possibile usare uno script con parametri. La lunghezza massima dello script è di 50.000 caratteri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PostScriptTimeoutSec

Specificare il valore intero per il tempo consentito in secondi per l'esecuzione del post-script prima del timeout.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PreScript

Specificare lo script di PowerShell da eseguire in ogni dispositivo prima dell'esecuzione della distribuzione.

Questo valore stringa è il testo dello script stesso. Se si dispone di uno script in un file che si vuole usare, leggerlo prima in una variabile. Ad esempio, usare il cmdlet Get-Content predefinito.

Gli script devono restituire un valore di per l'esito 0 positivo. Qualsiasi valore diverso da zero viene considerato un errore di script. Non è possibile usare uno script con parametri. La lunghezza massima dello script è di 50.000 caratteri.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PreScriptTimeoutSec

Specificare il valore intero per il tempo consentito in secondi per l'esecuzione del pre-script prima del timeout.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accade se viene eseguito il cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Output

IResultObject

Note

Questo cmdlet restituisce un oggetto per la classe WMI SMS_MachineOrchestrationGroup .