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-Websitelaufwerk aus, z. PS XYZ:\>
B. . 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.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Geben Sie eine optionale Beschreibung für die Orchestrierungsgruppe an, um sie zu identifizieren.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableWildcardHandling
Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForceWildcardHandling
Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Geben Sie die ID der zu konfigurierenden Orchestrierungsgruppe an. Dieser Wert ist die MOGID-Eigenschaft , die eine ganze Zahl ist. Beispiel: 16777217
.
Type: | Int32 |
Aliases: | MOGID |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Geben Sie ein Objekt für die Zu konfigurierende Orchestrierungsgruppe an. Verwenden Sie zum Abrufen dieses Objekts das Cmdlet Get-CMOrchestrationGroup .
Type: | IResultObject |
Aliases: | OrchestrationGroup |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32[] |
Aliases: | MogMembers |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Geben Sie den Namen der zu konfigurierenden Orchestrierungsgruppe an.
Type: | String |
Aliases: | OrchestrationGroupName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NewName
Geben Sie einen neuen Namen für diese Orchestrierungsgruppe an. Verwenden Sie diesen Parameter, um die Orchestrierungsgruppe umzubenennen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | OrchestrationTypeValue |
Accepted values: | Number, Percentage, Sequence |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
Ausgaben
IResultObject
Hinweise
Dieses Cmdlet gibt ein Objekt für die SMS_MachineOrchestrationGroup WMI-Klasse zurück.
Ähnliche Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für