Set-CMOrchestrationGroup
Konfigurieren sie eine Orchestrierungsgruppe.
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>]
Beschreibung
Verwenden Sie dieses Cmdlet, um eine Orchestrierungsgruppe zu konfigurieren.
Verwenden Sie Orchestrierungsgruppen, um die Bereitstellung von Softwareupdates auf Geräten besser zu steuern. Möglicherweise müssen Sie Updates für bestimmte Workloads sorgfältig verwalten oder das Verhalten dazwischen automatisieren. Weitere Informationen finden Sie unter Erstellen und Verwenden von Orchestrierungsgruppen in Configuration Manager.
Hinweis
Führen Sie Configuration Manager-Cmdlets auf dem Configuration Manager-Standortlaufwerk aus, z. B PS XYZ:\>
. . Weitere Informationen finden Sie unter Erste Schritte.
Beispiele
Beispiel 1: Ändern des Typs und Angeben der Sequenz
In diesem Beispiel wird zunächst das Cmdlet Get-CMOrchestrationGroup verwendet, um ein Objekt für die Orchestrierungsgruppe mit dem Namen IT-Server abzurufen. Dieses Objekt wird in der Og-Variablen gespeichert.
Der nächste Befehl definiert ein Array mit dem Namen devices. Es durchläuft jedes Mitglied der IT-Server-Orchestrierungsgruppe ($og.MOGMembers
) und übergibt die ID des Mitglieds an das Cmdlet Get-CMDevice . Das zurückgegebene Geräteobjekt wird an das Gerätearray angefügt.
Der nächste Befehl sortiert das Array nach Gerätename und gibt die Geräteressourcen-IDs in die Variable sortiertEIDs zurück.
Anschließend werden die Cmdlet-Parameter in die Parametervariablesplatiert. Es ist nicht erforderlich, die Parameter zu splatieren, es erleichtert nur das Lesen der Parameter für eine so lange Befehlszeile.
Der letzte Befehl konfiguriert die angegebene Orchestrierungsgruppe mit einer definierten Reihenfolge der Sequenz. Es verwendet den MemberResourceIds-Parameter , um die Sequenz festzulegen, ohne Member hinzuzufügen oder zu entfernen.
$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 diesem Beispiel wird gezeigt, wie eine programmgesteuerte Sortierung der vorhandenen Member erfolgt. Wenn sich die Mitgliedschaft in der Orchestrierungsgruppe nicht ändert, wird der folgende allgemeine Prozess verwendet:
- Verwenden Sie die vorhandenen Mitgliedsressourcen-IDs.
- Weitere Informationen zu den einzelnen Ressourcen finden Sie hier.
- Sortieren Sie die Liste nach diesen Informationen.
- Gibt die Ressourcen-IDs für die neu sortierte Liste zurück.
In diesem Beispiel wird Get-CMDevice verwendet, um weitere Informationen zu erhalten, aber Sie können es durch jedes Cmdlet ersetzen, das die Geräteressourcen-ID als Eingabe verwendet. Sie können den Sortiermechanismus auch durch eine andere Funktion ersetzen.
Beispiel 2: Abrufen von Skriptinhalten aus einer Datei
In diesem Beispiel wird das integrierte Cmdlet Get-Content verwendet, um den Skripttext aus einer lokalen Datei zu lesen. Der Skripttext wird in der PostScript-Variablen gespeichert. Der zweite Befehl konfiguriert die Orchestrierungsgruppe mit dem neuen Postskript.
$postScript - Get-Content -Path "D:\Scripts\OG\Post1.ps1"
Set-CMOrchestrationGroup -InputObject $og -PostScript $postScript
Parameter
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Description
Geben Sie eine optionale Beschreibung für die Orchestrierungsgruppe an, um sie zu identifizieren.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DisableWildcardHandling
Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ForceWildcardHandling
Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Id
Geben Sie die ID der zu konfigurierenden Orchestrierungsgruppe an. Dieser Wert ist die MOGID-Eigenschaft , die eine ganze Zahl ist. Beispiel: 16777217
.
Typ: | Int32 |
Aliase: | MOGID |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Geben Sie ein Objekt für die Orchestrierungsgruppe an, die konfiguriert werden soll. Verwenden Sie zum Abrufen dieses Objekts das Cmdlet Get-CMOrchestrationGroup .
Typ: | IResultObject |
Aliase: | OrchestrationGroup |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-MaxLockTimeOutMin
Geben Sie einen ganzzahligen Wert für das Timeout des Orchestrierungsgruppenmitglieds in Minuten an. Dieser Wert ist das Zeitlimit für ein einzelnes Gerät in der Gruppe, um die Updates zu installieren.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-MemberResourceIds
Geben Sie ein Array von Ressourcen-IDs für die Geräte an, die als Mitglieder dieser Orchestrierungsgruppe hinzugefügt werden sollen. Die Ressourcen-ID ist eine ganze Zahl, z. B 16777220
. . Dies ist die ResourceId-Eigenschaft auf einem Gerät oder Ressourcenobjekt. Verwenden Sie zum Abrufen eines Geräteobjekts die Cmdlets Get-CMDevice oder Get-CMResource .
Wenn Sie den Parameter OrchestrationType auf Sequence
festlegen, verwenden Sie diesen Parameter, um die Reihenfolge zu bestimmen.
Typ: | Int32[] |
Aliase: | MogMembers |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Name
Geben Sie den Namen der zu konfigurierenden Orchestrierungsgruppe an.
Typ: | String |
Aliase: | OrchestrationGroupName |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-NewName
Geben Sie einen neuen Namen für diese Orchestrierungsgruppe an. Verwenden Sie diesen Parameter, um die Orchestrierungsgruppe umzubenennen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-OrchestrationTimeOutMin
Geben Sie einen ganzzahligen Wert für das Timeout der Orchestrierungsgruppe in Minuten an. Dieser Wert ist das Zeitlimit für alle Gruppenmitglieder, um die Updates zu installieren.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-OrchestrationType
Geben Sie einen der folgenden Werte für den Typ der Orchestrierungsgruppe an:
Number
: Zulassen, dass mehrere Geräte gleichzeitig aktualisiert werden können. Verwenden Sie diese Einstellung, um immer auf eine bestimmte Anzahl von Geräten zu beschränken, unabhängig von der Gesamtgröße der Orchestrierungsgruppe. Verwenden Sie den Parameter OrchestrationValue , um die Anzahl der Geräte anzugeben.Percentage
: Zulassen, dass ein Prozentsatz der Geräte gleichzeitig aktualisiert wird. Verwenden Sie diese Einstellung, um zukünftige Flexibilität bei der Größe der Orchestrierungsgruppe zu ermöglichen. Verwenden Sie den Parameter OrchestrationValue , um den Prozentsatz anzugeben.Sequence
: Definieren Sie explizit die Reihenfolge, in der Geräte die Softwareupdatebereitstellung ausführen. Die Reihenfolge wird durch die Art der Geräteressourcen-IDs im MemberResourceIds-Parameter bestimmt.
Typ: | OrchestrationTypeValue |
Zulässige Werte: | Number, Percentage, Sequence |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-OrchestrationValue
Geben Sie eine ganze Zahl für die Anzahl oder den Prozentsatz der Geräte an, die gleichzeitig aktualisiert werden sollen. Verwenden Sie diesen Parameter, wenn Sie den OrchestrationType-Parameter auf Number
oder Percentage
festlegen.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PostScript
Geben Sie bei Bedarf das PowerShell-Skript an, das auf jedem Gerät ausgeführt werden soll, nachdem die Bereitstellung ausgeführt und das Gerät neu gestartet wird.
Dieser Zeichenfolgenwert ist der Text des Skripts selbst. Wenn Sie über ein Skript in einer Datei verfügen, die Sie verwenden möchten, lesen Sie es zuerst in eine Variable. Verwenden Sie beispielsweise das integrierte Cmdlet Get-Content .
Die Skripts sollten den Wert für 0
Erfolg zurückgeben. Jeder Wert ungleich 0 (null) wird als Skriptfehler betrachtet. Sie können kein Skript mit Parametern verwenden. Die maximale Skriptlänge beträgt 50.000 Zeichen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PostScriptTimeoutSec
Geben Sie den ganzzahligen Wert für die zulässige Zeit in Sekunden an, für die das Post-Skript ausgeführt werden soll, bevor ein Timeout aufgetreten ist.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PreScript
Geben Sie das PowerShell-Skript an, das auf jedem Gerät ausgeführt werden soll, bevor die Bereitstellung ausgeführt wird.
Dieser Zeichenfolgenwert ist der Text des Skripts selbst. Wenn Sie über ein Skript in einer Datei verfügen, die Sie verwenden möchten, lesen Sie es zuerst in eine Variable. Verwenden Sie beispielsweise das integrierte Cmdlet Get-Content .
Die Skripts sollten den Wert für 0
Erfolg zurückgeben. Jeder Wert ungleich 0 (null) wird als Skriptfehler betrachtet. Sie können kein Skript mit Parametern verwenden. Die maximale Skriptlänge beträgt 50.000 Zeichen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PreScriptTimeoutSec
Geben Sie den ganzzahligen Wert für die zulässige Zeit in Sekunden für die Ausführung des Vorskripts an, bevor ein Timeout aufgetreten ist.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
Ausgaben
IResultObject
Hinweise
Dieses Cmdlet gibt ein Objekt für die SMS_MachineOrchestrationGroup WMI-Klasse zurück.