В данном разделе объясняется, как использовать командную консоль Exchange, чтобы добавлять и удалять значения для многозначных свойств объекта.

Что такое многозадачное свойство?

Многозадачное свойство – свойство, которое может содержать более одного значения. Например, свойство BlockedRecipients объекта RecipientFilterConfig может принимать несколько адресов получателей, как в следующих примерах:

  • john@contoso.com

  • kim@northwindtraders.com

  • david@adatum.com

Поскольку свойство BlockedRecipients может принимать более одного значения, оно носит название многозначного.

Для получения дополнительных сведений об объектах см. Структура данных.

Чем отличаются изменения многозначных свойств?

Изменение многозначных свойств несколько отличается от изменения свойства, принимающего одно значение. Чтобы изменить свойство, принимающее только одно значение, можно присвоить значение непосредственно ему, как в следующей команде:

Копировать код
Set-TransportConfig -MaxSendSize 12MB

При использовании этой команды сохраненное значение переписывается, чтобы придать новое значение свойству MaxSendSize. Это несложно для свойств, принимающих только одно значение. В то же время для многозначных свойств возникают трудности. Например, допустим, что свойство BlockedRecipients свойства RecipientFilterConfig настроено так, чтобы принимать три значения, перечисленные в предыдущем разделе. При запуске команды 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. Это пример того, что изменение многозначного свойства отличается от изменения свойства, принимающего только одно значение. При изменении многозначного свойства необходимо убедиться, что вы добавляете или удаляете значение, а не перезаписываете весь список значений. В следующем разделе показано, как именно это сделать.

Примечание.
Некоторые командлеты, такие, как Set-TransportRule не поддерживают изменение свойств объекта, описанное в этом разделе. Дополнительные сведения о добавлении и удалении значений многозначных свойств этих командлетов приведены в разделах, посвященных этим командлетам, например, Set-TransportRule.

При изменении значений многозначных свойств необходимо понимать следующее:

Добавление значения к многозначному свойству

Добавить значение к многозначному свойству очень просто. Для этого требуется нескольких дополнительных действий. Снова допустим, что свойство BlockedRecipients содержит значения, перечисленные в первом разделе.

Сначала следует запросить объект, который нужно изменить, и присвоить его переменной. Например, используйте следующую команду для присвоения объекта RecipientFilterConfig переменной $Example:

Копировать код
$Example = Get-RecipientFilterConfig

При запуске команды $Example | Format-List BlockedRecipients возвращается следующее:

Копировать код
BlockedRecipients : {david@adatum.com, kim@northwindtraders.com, john@contoso.com}

Далее необходимо добавить значение, которое нужно добавить к свойству BlockedRecipients объекта, хранящегося в переменной $Example. Имейте в виду, что на этом этапе происходит только добавление значение к объекту, хранящемуся в переменной. Чтобы добавить значение chris@contoso.com свойству BlockedRecipients объекта, хранящегося в переменной $Example, запустите следующую команду:

Копировать код
$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 для сохранения объекта.

Примечание.
Некоторые командлеты не позволяют добавить одновременно несколько значений.

Удаление значения многозначного свойства

Возможно, вы захотите удалить только одно значение многозначного свойства вместо одновременного удаления всех значений. Удаление значения многозначного свойства осуществляется аналогично добавлению. В то же время, в отличие от добавления, удалять значения нужно одновременно. Снова допустим, что свойство 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
    
Для добавления дополнительных кодов уведомления о доставке (DSN) к свойству GenerateCopyOfDSNFor
  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 устройства из почтового ящика сервера клиентского доступа
  1. Выполните следующие команды

    Копировать код
    $CasDevice = Get-CasMailbox "David Simpson"
    $CasDevice.ActiveSyncAllowedDeviceIDs -= "4B9207650054767AD0AEE83A414BCD7F"
    Set-CasMailbox "David Simpson" -ActiveSyncAllowedDeviceIDs $CasDevice.ActiveSyncAllowedDeviceIDs
    
  2. Для просмотра измененного почтового ящика сервера клиентского доступа выполните следующую команду:

    Копировать код
    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
    

Дополнительные сведения