Freigeben über


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

PSObject

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.