Update-List
Fügt Elemente einem Eigenschaftenwert hinzu, der eine Auflistung von Objekten enthält, bzw. entfernt sie daraus.
Syntax
Update-List
[-Add <Object[]>]
[-Remove <Object[]>]
[-InputObject <PSObject>]
[[-Property] <String>]
[<CommonParameters>]
Update-List
-Replace <Object[]>
[-InputObject <PSObject>]
[[-Property] <String>]
[<CommonParameters>]
Beschreibung
Das Cmdlet Update-List fügt Elemente zu einem Eigenschaftswert eines Objekts hinzu, entfernt Elemente aus einem Eigenschaftswert eines Objekts und gibt dann das aktualisierte Objekt zurück. Dieses Cmdlet ist für Eigenschaften vorgesehen, die Auflistungen von Objekten enthalten.
Mit den Parametern Hinzufügen und Entfernen werden einzelne Elemente hinzugefügt und aus der Auflistung entfernt. Der Replace-Parameter ersetzt die gesamte Auflistung.
Wenn Sie keine Eigenschaft im Befehl angeben, gibt Update-List ein Objekt zurück, das das Update beschreibt, anstatt das Objekt zu aktualisieren. Sie können das Update-Objekt an Cmdlets senden, die Objekte ändern, wie die Set-*-Cmdlets.
Dieses Cmdlet funktioniert nur, wenn die zu aktualisierende Eigenschaft die von Update-List verwendete IList-Schnittstelle unterstützt. Zudem müssen alle Set-*-Cmdlets, die ein Update akzeptieren, die IList-Schnittstelle unterstützen. Die Kern-Cmdlets, die mit Windows PowerShell installiert werden, unterstützen diese Schnittstelle nicht. Informationen dazu, ob ein Cmdlet Update-List unterstützt, finden Sie im Hilfethema zu Cmdlets.
Beispiele
Beispiel 1: Hinzufügen und Entfernen von Elementen aus einem Eigenschaftswert
PS C:\> Get-MailBox | Update-List -Property aliases -Add "A","B" -Remove "X","Y" | Set-MailBox
Dieser Befehl fügt A und B der Aliases-Eigenschaft eines Postfachs hinzu und entfernt X und Y daraus.
Der Befehl verwendet das Cmdlet Get-Mailbox aus Microsoft Exchange Server, um das Postfach abzurufen. Ein Pipelineoperator sendet das Postfachobjekt an das Cmdlet Update-List .
Der Befehl Update-List verwendet den Property-Parameter , um anzugeben, dass die Aliases-Eigenschaft des Postfachs aktualisiert wird, und er verwendet die Parameter Add und Remove , um die Elemente anzugeben, die der Auflistung hinzugefügt und entfernt werden. Die Aliases-Eigenschaft erfüllt die Bedingungen von Update-List, da sie eine Sammlung von Microsoft .NET Framework-Objekten mit den Methoden Add und Remove speichert.
Das Cmdlet Update-List gibt das aktualisierte Postfach zurück, das an das Cmdlet Set-MailBox weitergeleitet wird, das das Postfach ändert.
Beispiel 2: Hinzufügen und Entfernen von Elementen aus einem Eigenschaftswert in einer Variablen
PS C:\> $M = Get-MailBox
PS C:\> Update-List -InputObject $M -Property aliases -Add "A","B" -Remove "X", "Y" | Set-MailBox
Dieser Befehl fügt A und B dem Wert der Aliases-Eigenschaft eines Postfachs hinzu und entfernt X und Y daraus. Dieser Befehl hat dieselbe Wirkung wie der vorherige, hat aber ein etwas anderes Format.
Der Befehl verwendet das Cmdlet Get-MailBox zum Abrufen des Postfachs und speichert das Postfach in der variablen $M. Dieser Befehl verwendet den InputObject-Parameter von Update-List , um das Postfach anzugeben. Der Wert von InputObject ist das Postfach in der variablen $M. Es verwendet den Property-Parameter , um die Aliases-Eigenschaft und die Parameter Add und Remove anzugeben, um die Elemente anzugeben, die dem Wert von Aliases hinzugefügt und daraus entfernt werden.
Der Befehl verwendet einen Pipelineoperator (|), um das aktualisierte Postfachobjekt an das Cmdlet Set-Mailbox zu senden, das das Postfach ändert.
Beispiel 3: Hinzufügen und Entfernen von Elementen aus einem Eigenschaftswert
PS C:\> Get-MailBox | Set-MailBox -Alias (Update-List -Add "A", "B" -Remove "X","Y")
Dieser Befehl fügt A und B dem Wert der Aliases-Eigenschaft eines Postfachs hinzu und entfernt X und Y daraus. Dieser Befehl hat dieselbe Wirkung wie die beiden vorherigen, verwendet aber ein etwas anderes Verfahren für die Aufgabe.
Anstatt die Aliases-Eigenschaft des Postfachs vor dem Senden an Set-Mailbox zu aktualisieren, verwendet dieser Befehl Update-List , um ein Objekt zu erstellen, das die Änderung darstellt. Anschließend wird die Änderung an den Alias-Parameter von Set-Mailbox übermittelt.
Der Befehl verwendet das Cmdlet Get-MailBox , um das Postfach abzurufen. Ein Pipelineoperator sendet das Postfachobjekt an das Cmdlet Set-Mailbox , das Postfächer ändert.
Der Befehl verwendet den Alias-Parameter von Set-Mailbox, um die Aliases-Eigenschaft des Postfachobjekts zu ändern. Der Wert des Alias-Parameters ist ein Update-List-Befehl , der ein Objekt erstellt, das das Update darstellt. Der Befehl Update-List wird in Klammern eingeschlossen, um sicherzustellen, dass er ausgeführt wird, bevor der Wert des Alias-Parameters ausgewertet wird. Wenn der Befehl Set-Mailbox abgeschlossen ist, wird das Postfach geändert.
Beispiel 4: Ersetzen einer Eigenschaftsauflistung
PS C:\> Update-List -InputObject $A -Property aliases -Replace "A", "B" | Set-MailBox
Dieser Befehl verwendet den Replace-Operator von Update-List , um die Auflistung in der Aliases-Eigenschaft des Objekts in $A durch eine neue Auflistung zu ersetzen.
Dieser Befehl verwendet den InputObject-Parameter , der in diesem Fall der Verwendung eines Pipelineoperators entspricht, um $A an Update-List zu übergeben.
Parameter
-Add
Gibt die Eigenschaftenwerte an, die der Auflistung hinzugefügt werden. Geben Sie die Werte in der Reihenfolge ein, in der die sie in der Auflistung angezeigt werden sollen.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Gibt die zu aktualisierenden Objekte an. Sie können das zu aktualisierende Objekt auch an Update-List übergeben.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
Gibt die Eigenschaft an, die die Auflistung enthält, die aktualisiert wird. Wenn Sie diesen Parameter weglassen, gibt Update-List ein Objekt zurück, das die Änderung darstellt, anstatt das Objekt zu ändern.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Remove
Gibt die Eigenschaftenwerte an, die aus der Auflistung entfernt werden sollen.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Replace
Gibt eine neue Auflistung an. Dieser Parameter ersetzt alle Elemente in der ursprünglichen Auflistung mit den Elementen, die von diesem Parameter angegeben werden.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Sie können die zu aktualisierenden Objekte an Update-List übergeben.
Ausgaben
Objects or System.Management.Automation.PSListModifier
Update-List gibt das aktualisierte Objekt oder ein Objekt zurück, das die Aktualisierungsaktion darstellt.