複数値プロパティの変更

 

適用先: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

トピックの最終更新日: 2007-08-13

ここでは、Exchange 管理シェルを使用して、オブジェクトの複数値プロパティに値を追加したり削除したりする方法について説明します。

複数値プロパティとは

複数値プロパティとは、複数の値を含むことのできるプロパティです。たとえば、RecipientFilterConfig オブジェクトの BlockedRecipients プロパティには、次の例のように複数の受信者のアドレスを使用することができます。

  • john@contoso.com
  • kim@northwindtraders.com
  • david@adatum.com

BlockedRecipients プロパティには、複数の値を使用することができるため、複数値プロパティと呼ばれています。

オブジェクトの詳細については、「構造化データ」を参照してください。

複数値プロパティの変更での相違点

複数値プロパティの変更方法は、1 つの値しか使用できないプロパティの変更方法とは少し異なります。単一の値しか使用できないプロパティを変更する場合は、次のコマンドのように直接値を割り当てることができます。

Set-TransportConfig -MaxSendSize 12MB

このコマンドを使用して MaxSendSize プロパティに新しい値を指定すると、保存されている値が上書きされます。1 つの値しか使用できないプロパティの場合は、これで問題ありませんが、複数値プロパティの場合は問題になります。たとえば、RecipientFilterConfig プロパティの BlockedRecipients プロパティが、前のセクションに記載されている 3 つの値を持つように構成されていると仮定します。コマンド Get-RecipientFilterConfig | Format-List BlockedRecipients を実行すると、次のように表示されます。

BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com}

ここで、ブロックされた受信者の一覧に新しい簡易メール転送プロトコル (SMTP) アドレスを追加する要求を受信したと仮定します。次のコマンドを実行して、新しい SMTP アドレスを追加します。

Set-RecipientFilterConfig -BlockedRecipients chris@contoso.com

Get-RecipientFilterConfig | Format-List BlockedRecipients コマンドを再度実行すると、次のように表示されます。

BlockedRecipients : {chris@contoso.com}

これは期待した内容ではありません。ブロックされた受信者の既存の一覧に新しい SMTP アドレスを追加しようとしたのに、ブロックされた受信者の既存の一覧が新しい SMTP アドレスで上書きされています。ここが、複数値プロパティの変更方法と単一の値しか使用できないプロパティの変更方法とが異なる点です。複数値プロパティを変更する場合は、値の一覧全体を上書きしているのではなく、値を追加または削除していることを確認する必要があります。次のセクションでは、この正確な方法を示します。

note注 :
Set-TransportRule などの一部のコマンドレットでは、このトピックで説明した方法によるオブジェクトのプロパティの変更はサポートされていません。これらのコマンドレットの複数値プロパティに値を追加したり削除したりする方法の詳細については、「Set-TransportRule」など、これらのコマンドレットに関するトピックを参照してください。

複数値プロパティを変更するには、以下の概念を理解する必要があります。

複数値プロパティへの値の追加方法

複数値プロパティへの値の追加は、非常に単純です。いくつか追加の手順があるだけです。ここでも、BlockedRecipients プロパティには、最初のセクションに記載された値が含まれていると仮定します。

まず、変更するオブジェクトを取得して、変数に割り当てる必要があります。たとえば、RecipientFilterConfig オブジェクトを変数 $Example に割り当てるには、次のコマンドを使用します。

$Example = Get-RecipientFilterConfig

コマンド $Example | Format-List BlockedRecipients を実行すると、次の値が返されます。

BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com}

次に、変数 $Example に保存されているオブジェクトの BlockedRecipients プロパティに追加する値を追加する必要があります。この手順は、変数に保存されているオブジェクトに値を追加するだけであることに注意してください。変数 $Example に保存されているオブジェクトの BlockedRecipients プロパティに chris@contoso.com を追加するには、次のコマンドを実行します。

$Example.BlockedRecipients += "chris@contoso.com"

コマンド $Example | Format-List BlockedRecipients を再度実行すると、次の値が返されます。

BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com, chris@contoso.com}

このように、SMTP アドレス chris@contoso.com BlockedRecipients プロパティに保存された値の一覧に追加されました。

最後に、次のコマンドを使用して、$Example に保存されているオブジェクトを保存する必要があります。

Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients

ここで Get-RecipientFilterConfig | Format-List BlockedRecipients コマンドを実行すると、SMTP アドレス chris@contoso.com がサーバーに追加されたことを確認できます。

複数値プロパティへの複数の値の追加

複数値プロパティに多数の値を同時に追加するには、前に説明した手順と同じ手順を実行します。追加する複数の値を指定するには、次の例のようにコンマを使用して値を区切ります。

$Example.BlockedRecipients += "user1@contoso.com", "user2@contoso.com", "user3@contoso.com"

追加する値を指定したら、Set-RecipientFilterConfig コマンドレットを使用してオブジェクトを保存します。

note注 :
一部のコマンドレットでは、複数の値を同時に追加することはできません。

複数値プロパティからの値の削除方法

複数値プロパティからすべての値を同時に削除するのではなく、1 つの値のみを削除したい場合があります。複数値プロパティからの値の削除は、値の追加に似ていますが、値の追加とは異なり、削除は一度に 1 つずつ行う必要があります。ここでも、BlockedRecipients プロパティには、最初のセクションに記載された値が含まれていると仮定します。

まず、次の例のように、変更するオブジェクトを変数に割り当てる必要があります。

$Example = Get-RecipientFilterConfig

それから、削除する正確な値を指定する、次のコマンドを実行します。

$Example.BlockedRecipients -= "david@contoso.com"

最後に、変数に保存されているオブジェクトを次のように保存します。

Set-RecipientFilterConfig -BlockedRecipients $Example.BlockedRecipients

複数値プロパティへの値の追加の例

次の Exchange 管理シェルの手順は、Microsoft Exchange Server 2007 のさまざまなオブジェクトで使用可能な複数値プロパティの一部に値を追加する方法の例です。

SMTP アドレスのメールボックスへの追加

  1. 次のコマンドを実行します。

    $Mailbox = Get-Mailbox "Kim Akers"
    $Mailbox.EmailAddresses += "kim@contoso.com"
    Set-Mailbox "Kim Akers" -EmailAddresses $Mailbox.EmailAddresses
    
  2. 更新されたメールボックスを表示するには、次のコマンドを実行します。

    Get-Mailbox "Kim Akers" | Format-List Name, EmailAddresses
    

GenerateCopyOfDSNFor プロパティへの追加の配信状態通知 (DSN) コードの追加

  1. 次のコマンドを実行します。

    $DsnList = Get-TransportConfig
    $DsnList.GenerateCopyOfDSNFor += "5.4.7", "5.7.1", "5.7.2"
    Set-TransportConfig -GenerateCopyOfDSNFor $DsnList.GenerateCopyOfDSNFor
    
  2. 更新された DSN コードを表示するには、次のコマンドを実行します。

    Get-TransportConfig | Format-List GenerateCopyOfDSNFor
    

複数値プロパティからの値の削除の例

次の手順は、Exchange 2007 のさまざまなオブジェクトで使用可能な複数値プロパティの一部から値を削除する方法の例です。

有効化された Exchange ActiveSync デバイスのデバイス ID のクライアント アクセス サーバー (CAS) メールボックスからの削除

  1. 次のコマンドを実行します。

    $CasDevice = Get-CasMailbox "David Simpson"
    $CasDevice.ActiveSyncAllowedDeviceIDs -= "4B9207650054767AD0AEE83A414BCD7F"
    Set-CasMailbox "David Simpson" -ActiveSyncAllowedDeviceIDs $CasDevice.ActiveSyncAllowedDeviceIDs
    
  2. 更新された CAS メールボックスを表示するには、次のコマンドを実行します。

    Get-CasMailbox "David Simpson" | Format-List Name, ActiveSyncAllowedDeviceIDs
    

配布グループで "代理送信" アクセス許可を与えられたメールボックスの一覧からのメールボックスの削除

  1. 次のコマンドを実行します。

    $DistributionGroup = Get-DistributionGroup "Sales Group"
    $DistributionGroup.GrantSendOnBehalfTo -= (Get-Maibox "Christine Hughes").Identity
    Set-DistributionGroup "Sales Group" -GrantSendOnBehalfTo $DistributionGroup.GrantSendOnBehalfTo
    
  2. 更新された配布グループを表示するには、次のコマンドを実行します。

    Get-DistributionGroup "Sales Group" | Format-List Name, GrantSendOnBehalfTo
    

詳細情報

ここで説明した機能の詳細については、以下のトピックを参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。