Update-List
オブジェクトのコレクションが含まれているプロパティ値に対して項目の追加と削除を行います。
構文
Update-List [-Add <Object[]>] [-Remove <Object[]>] [[-Property] <string>] [-InputObject <psobject>] [<CommonParameters>]
Update-List -Replace <Object[]> [[-Property] <string>] [-InputObject <psobject>] [<CommonParameters>]
説明
Update-List コマンドレットは、オブジェクトのプロパティ値に対して項目の追加と削除を行い、更新したオブジェクトを返します。このコマンドレットは、オブジェクトのコレクションが含まれているプロパティを対象としています。
Add パラメーターと Remove パラメーターは、コレクションに対して個々の項目の追加と削除を行います。Replace パラメーターは、コレクション全体を置き換えます。
コマンドでプロパティを指定しなかった場合は、オブジェクトを更新する代わりに、Update-List によって更新を示すオブジェクトが返されます。Set-* コマンドレットなど、オブジェクトを変更するコマンドレットに更新オブジェクトを送信できます。
更新されるプロパティで、Update-List によって使用される IList インターフェイスがサポートされている場合にのみ、このコマンドレットは有効です。また、更新を受け入れる Set-* コマンドレットはすべて、IList インターフェイスをサポートしている必要があります。Windows PowerShell と共にインストールされたコア コマンドレットでは、このインターフェイスはサポートされていません。コマンドレットで Update-List がサポートされているかどうかを調べるには、コマンドレットのヘルプ トピックを参照してください。
パラメーター
-Add <Object[]>
コレクションに追加するプロパティ値を指定します。コレクションに表示する順に値を入力してください。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-InputObject <psobject>
更新するオブジェクトを指定します。更新対象のオブジェクトを Update-List に対してパイプ処理することもできます。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-Property <string>
更新するコレクションが含まれているプロパティを指定します。このパラメーターを省略した場合、オブジェクトを変更する代わりに、Update-List は変更を表すオブジェクトを返します。
必須 |
false |
位置 |
1 |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Remove <Object[]>
コレクションから削除するプロパティ値を指定します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Replace <Object[]>
新しいコレクションを指定します。このパラメーターは、元のコレクション内のすべての項目をこのパラメーターによって指定された項目に置き換えます。
必須 |
true |
位置 |
named |
既定値 |
なし |
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.Management.Automation.PSObject パイプを使用して、更新するオブジェクトを Update-List に渡すことができます。 |
出力 |
Objects または System.Management.Automation.PSListModifier Update-List は、更新されたオブジェクトを返すか、更新アクションを表すオブジェクトを返します。 |
例 1
C:\PS>get-mailbox | update-list -Property aliases -Add "A","B" -Remove "X","Y" | set-mailbox
説明
-----------
このコマンドは、メールボックスの Aliases プロパティに A と B を追加し、X と Y を削除します。
このコマンドは、Microsoft Exchange Server の Get-MailBox コマンドレットを使用してメールボックスを取得します。パイプライン演算子によって、メールボックス オブジェクトが Update-List コマンドレットに渡されます。
Update-List コマンドは、Property パラメーターを使用して、メールボックスの Aliases プロパティを更新することを示し、Add パラメーターと Remove パラメーターを使用して、コレクションに対して追加と削除を行う項目を指定します。Aliases プロパティは、Add メソッドと Remove メソッドがある Microsoft .NET Framework オブジェクトのコレクションを保存するため、Update-List の条件を満たしています。
Update-List コマンドレットによって、更新されたメールボックスが返され、そのメールボックスは Set-MailBox コマンドレットに対してパイプ処理されます。Set-MailBox コマンドレットによってメールボックスが変更されます。
Get-Mailbox の詳細については、https://technet.microsoft.com/ja-jp/library/bb123685.aspx を参照してください。
例 2
C:\PS>$m = get-mailbox
C:\PS> update-list -InputObject $m -Property aliases -Add "A","B" -Remove "X", "Y" | set-mailbox
説明
-----------
このコマンドは、A と B をメールボックスの Alias プロパティの値に追加し、X と Y を削除します。このコマンドは、前のコマンドと形式が若干異なりますが、同じ結果が得られます。
このコマンドは、Get-MailBox コマンドレットを使用してメールボックスを取得し、$m 変数にメールボックスを保存します。このコマンドは Update-List の InputObject パラメーターを使用して、メールボックスを指定します。InputObject の値は $m 変数内のメールボックスです。このコマンドは、Property パラメーターを使用して、Alias プロパティを指定し、Add パラメーターと Remove パラメーターを使用して、Alias の値に対して追加と削除を行う項目を指定します。
このコマンドは、パイプライン演算子 (|) を使用して、更新されたメールボックス オブジェクトを Set-Mailbox コマンドレットに渡します。Set-Mailbox コマンドレットによってメールボックスが変更されます。
例 3
C:\PS>get-mailbox | set-mailbox -alias (update-list -Add "A", "B" -Remove "X","Y")
説明
-----------
このコマンドは、A と B をメールボックスの Alias プロパティの値に追加し、X と Y を削除します。このコマンドは、前の 2 つのコマンドと同じ結果が得られますが、タスクを実行する手順は異なります。
メールボックスの Aliases プロパティを更新してから Set-Mailbox に渡すのではなく、このコマンドは Update-List を使用して変更を表すオブジェクトを作成します。次に、変更を Set-Mailbox の Alias パラメーターに送信します。
このコマンドは、Get-MailBox コマンドレットを使用してメールボックスを取得します。パイプライン演算子によって、メールボックス オブジェクトが Set-Mailbox コマンドレットに渡されます。Set-Mailbox コマンドレットによってメールボックスが変更されます。
このコマンドは、Set-Mailbox の Alias パラメーターを使用して、メールボックス オブジェクトの Aliases プロパティを変更します。Alias パラメーターの値は、更新を表すオブジェクトを作成する Update-List コマンドです。Update-List コマンドは、実行後に Alias パラメーターの値が評価されるようにするためかっこで囲まれています。Set-Mailbox コマンドが完了すると、メールボックスが変更されます。
例 4
C:\PS>update-list -InputObject $a -Property aliases -replace "A", "B" | set-mailbox
説明
-----------
このコマンドは、Update-List の Replace 演算子を使用して、$a 内のオブジェクトの Aliases プロパティにあるコレクションを新しいコレクションに置き換えます。
このコマンドは InputObject パラメーターを使用します。この場合、InputObject パラメーターは、パイプライン演算子を使用して $a を Update-List に渡すことと同じです。