Изменение многозначных свойств

Применимо к: Exchange Server 2010 SP2

Последнее изменение раздела: 2012-02-07

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

Bb684908.note(ru-RU,EXCHG.141).gifПримечание.
Некоторые командлеты, такие как Set-TransportRule, не поддерживают изменение свойств объекта, описанное в этом разделе. Дополнительные сведения о добавлении и удалении значений многозначных свойств этих командлетов приведены в разделах, посвященных этим командлетам, например Set-TransportRule.
Изменение многозначных свойств

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

Синтаксис многозначных свойств

Action Синтаксис

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

@{Add="<value1>", "<value2>", "<value3>"}

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

@{Remove="<value1>", "<value2>", "<value3>"}

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

Set-ExampleCmdlet -Parameter @{Add="Red", "Blue", "Green"}

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

Set-RecipientFilterConfig -BlockedRecipients @{Add="chris@contoso.com"}

Если бы вы хотели удалить david@adatum.com из списка значений, команда имела бы следующий вид:

Set-RecipientFilterConfig -BlockedRecipients @{Remove="david@adatum.com"}

Можно использовать и более сложные комбинации, такие как одновременное добавление и удаление значений для свойства. Для этого вставьте точку с запятой (;) между действиями Add и Remove. Например:

Set-RecipientFilterConfig -BlockedRecipients @{Add="carter@contoso.com", "sam@northwindtraders.com", "brian@adatum.com"; Remove="john@contoso.com"}

Если мы используем команду Get-RecipientFilterConfig | Format-List BlockedRecipients еще раз, мы увидим, что адреса электронной почты для пользователей Carter, Sam и Brian были добавлены, а адрес для пользователя John был удален.

BlockedRecipients : {brian@adatum.com, sam@northwindtraders.com, carter@contoso.com, chris@contoso.com, kim@northwindtraders.com}
Page view tracker