Применимо к: Exchange Server 2010 SP1
Последнее изменение раздела: 2009-10-14
В данном разделе объясняется, как использовать командную консоль 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 |
Примеры добавления значений в многозначное свойство
Следующие процедуры командной консоли являются примерами добавления значений в некоторые многозначные свойства, доступные для различных объектов Microsoft Exchange Server 2010, с последующим отображением обновленных результатов.
В этом примере выполняется добавление адреса SMTP в почтовый ящик Kim Akers.
Скопировать код | |
---|---|
$Mailbox = Get-Mailbox "Kim Akers" $Mailbox.EmailAddresses += "kim@contoso.com" Set-Mailbox "Kim Akers" -EmailAddresses $Mailbox.EmailAddresses |
В этом примере отображается имя и адреса электронной почты для обновленного почтового ящика Kim Akers.
Скопировать код | |
---|---|
Get-Mailbox "Kim Akers" | Format-List Name, EmailAddresses |
В этом примере выполняется добавление дополнительных кодов уведомления о доставке (DSN) в свойство GenerateCopyOfDSNFor.
Скопировать код | |
---|---|
$DsnList = Get-TransportConfig $DsnList.GenerateCopyOfDSNFor += "5.4.7", "5.7.1", "5.7.2" Set-TransportConfig -GenerateCopyOfDSNFor $DsnList.GenerateCopyOfDSNFor |
В этом примере отображаются все коды DSN, включая добавленные.
Скопировать код | |
---|---|
Get-TransportConfig | Format-List GenerateCopyOfDSNFor |
Примеры удаления значений многозначного свойства
Следующие процедуры командной консоли являются примерами удаления значений из некоторых многозначных свойств, доступных для различных объектов Exchange 2010, с последующим отображением обновленных результатов.
В этом примере выполняется удаление идентификатора устройства с поддержкой Microsoft Exchange ActiveSync из почтового ящика на сервере клиентского доступа.
Скопировать код | |
---|---|
$CasDevice = Get-CasMailbox "David Simpson" $CasDevice.ActiveSyncAllowedDeviceIDs -= "4B9207650054767AD0AEE83A414BCD7F" Set-CasMailbox "David Simpson" -ActiveSyncAllowedDeviceIDs $CasDevice.ActiveSyncAllowedDeviceIDs |
В этом примере отображается обновленный список идентификаторов устройств.
Скопировать код | |
---|---|
Get-CasMailbox "David Simpson" | Format-List Name, ActiveSyncAllowedDeviceIDs |
В этом примере выполняется удаление почтового ящика из списка почтовых ящиков, имеющих разрешение на выполнение отправки от имени группы рассылки Sales Group.
Скопировать код | |
---|---|
$DistributionGroup = Get-DistributionGroup "Sales Group" $DistributionGroup.GrantSendOnBehalfTo -= (Get-Mailbox "Christine Koch").Identity Set-DistributionGroup "Sales Group" -GrantSendOnBehalfTo $DistributionGroup.GrantSendOnBehalfTo |
В этом примере отображается обновленный список почтовых ящиков, имеющих разрешение на выполнение отправки от имени группы рассылки Sales Group.
Скопировать код | |
---|---|
Get-DistributionGroup "Sales Group" | Format-List Name, GrantSendOnBehalfTo |