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

 

Применимо к: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Последнее изменение раздела: 2007-08-13

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

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}

Далее необходимо добавить значение, которое нужно добавить к свойству 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 для сохранения объекта.

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

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

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

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

Дополнительные сведения об описанных в данном разделе возможностях приведены в следующих разделах: