Скрипт Powershell для Exchange Server: удаление писем с помощью командлетов - PullRequest
1 голос
/ 29 июля 2011

Я пишу сценарий Powershell для управления группами рассылки и общими папками Exchange.

В консоли управления общими папками я создал папку с включенной поддержкой почты.В свойствах этой папки на вкладке Адреса электронной почты я хочу удалить из списка все вхождения адресов электронной почты, которые содержат «Переписка» .

Мой вопрос: как бывы собираетесь удалить адреса электронной почты из свойств общей папки с помощью Powershell?

Если вы хотите увидеть фрагмент кода, вот он:

# create the new public folder

New-PublicFolder -Name $nextProjectName -Path "\Projets"

Add-PublicFolderClientPermission -Identity "\Projets\$nextProjectName"  -AccessRights CreateItems, ReadItems, CreateSubfolders, EditOwnedItems, FolderVisible, DeleteOwnedItems -User $nextProjectName

New-PublicFolder -Name "Correspondance" -Path "\Projets\$nextProjectName"

Enable-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance"

$correspondanceAlias = $nextProjectCode.Substring(1,6)
Set-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance" -Alias "bccp$correspondanceAlias" -DisplayName "bccp$correspondanceAlias"

Вот скриншот, показывающий вподробно что я хочу удалить.Два SMTP-адреса и второй из двух адресов X400.

screenshot01

Ответы [ 3 ]

1 голос
/ 29 июля 2011

Я решил проблему.Все, что я сделал, это повторил командлет, который устанавливает свойства общей папки, чтобы добавить адреса электронной почты, чтобы никогда не отображались неправильные адреса электронной почты.

$correspondanceAlias = $nextProjectCode.Substring(1,6)

Set-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance" -Alias "bccp$correspondanceAlias" -DisplayName "bccp$correspondanceAlias"
Set-MailPublicFolder -Identity "\Projets\$nextProjectName\Correspondance" -EmailAddresses "bccp$correspondanceAlias@matricis.local", "bccp$correspondanceAlias@matricis.com"
1 голос
/ 29 июля 2011

Не проверено, но я думаю, что это должно работать:

 foreach ($mailpf in get-mailpublicfolder){
    $addrs = $mailpf.emailaddresses | 
      where {$_.proxyaddressstring -notmatch "smtp:.*correspondence.*"}
    set-mailpublicfolder $mailpf.identity -emailaddresses $addrs -whatif
    }
0 голосов
/ 23 августа 2011

Я думаю, что следующие ссылки помогут вам.

Управление общими папками

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...