Добавление и удаление необходимых разрешений. Предотвращение доставки сообщений с помощью транспортных правил

Добавление и удаление необходимых разрешений. Предотвращение доставки сообщений с помощью транспортных правил

18.04.2019

При внедрении Exchange возникает неприятная ситуация – мы вроде бы все требования по месту для Exchange выполнили, но оно неумолимо уменьшается… начинаем разбираться и понимаем что всевозможные логи растут быстрее чем мы предполагали, так как же с ними бороться? Далее описаны способы по усечению\перемещению различных логов, в общем все то, что поможет нам решить проблему. Отдельно замечу, что вся информация есть в технической библиотеке technet 🙂 и здесь она всего лишь подобрана для определенной задачи: напомнить способы решения проблем с нехваткой места по причине разрастания логов.

Transaction logs

Журнал транзакций наиважнейший элемент Exchange. Приведем пример: при отправке сообщения транзакция сначала записывается в журнал. Пока транзакция не передалась в базу данных Exchange, эти данные существуют только в системной памяти и журналах транзакций. В случае аварии вы теряете содержимое памяти, и все, что у вас остается, это записи в журнале транзакций. Эти журналы важны для восстановления поврежденной базы. То же самое касается и других транзакций: полученных сообщений, удаленных элементов и сообщений, перемещенных в другие папки. Соответственно данные логи растут очень быстро, как же их уменьшить?

1. Резервное копирование

Одной из функций, выполняемых при успешном завершении полной или добавочной архивации, является усечение файлов журнала транзакций, которые больше не требуются для восстановления базы данных. Exchange 2013 поддерживает только резервные копии Exchange на основе службы теневого копирования томов (VSS).

Отличная статья по настройке резервного копирования с использованием Windows Server Backup

2. Включение Circular Logging

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

С помощью EAC Circular Logging включается так:

При включенном циклическом ведении журнала расширенного обработчика хранилищ дополнительные файлы журнала не создаются, вместо этого при необходимости перезаписывается текущий файл журнала. Однако в среде с непрерывной репликацией(DAG) файлы журнала необходимы для доставки и преобразования журналов. В результате при включении циклического ведения журнала непрерывной репликации текущий файл журнала не перезаписывается, а для процесса доставки и преобразования журналов создаются закрытые файлы журнала, т.е обеспечивается непрерывность журналов, а журналы не удаляются, пока они необходимы для репликации. Служба репликации Microsoft Exchange и служба банка данных Microsoft Exchange взаимодействуют с помощью удаленного вызова процедур (RPC), касающихся того, какие файлы журнала могут быть удалены.

3. Перемещение Transaction logs

Ну и в конце концов мы можем переместить логи вместе с базой в другое место\другой диск.

Для этого есть прекрасный командлет Move-DatabasePath . Приведем пример переноса базы данных MDB01 и журналов транзакций на диск M в соответствующие директории:

Move-Databasepath “MDB01” –EdbFilepath “M:\DB\MDB01\database\mdb01.edb” –LogFolderpath “M:\DB\MDB01\logs\”

Queue Database

Это конечно не логи, но если вам необходимо освободить место то перемещение данной базы может вам помочь. Queue Database — это временное хранилище сообщений, ожидающих следующую стадию обработки. Каждая очередь представляет собой логический набор сообщений, которые обрабатываются сервером транспорта в определенном порядке. Все очереди хранятся в одной базе данных ESE. Очереди размещаются только на серверах почтовых ящиков или на пограничных транспортных серверах. Местоположение базы данных очереди и ее журналов транзакций контролируется ключами в XML-файле конфигурации приложения %ExchangeInstallPath%Bin\EdgeTransport.exe.config.

Все что мы можем сделать с нею, это переместить ее в другое место. Достаточно исчерпывающая информация о перемещении находится в библиотеке technet в статье Change the Location of the Queue Database

Transport Logs

Журналы транспорта предоставляют сведения о происходящем в транспортном конвейере. Достаточно исчерпывающая информация о отключении\включении логирования и их перемещении находится в библиотеке technet в статье Transport Logs .

В Microsoft Exchange Server 2013 доступны следующие журналы транспорта:

  • Agent logs
  • Connectivity logs
  • Message tracking and delivery reports
  • Pipeline tracing
  • Protocol logs
  • Routing table logs

Protocol logs через EAC: servers\servers\выбрать сервер\transport logs\protocol log

Например изменить путь хранения Message Tracking через EAC: servers\servers\выбрать сервер\transport logs\message tracking log.

Отдельно замечу что переместить можно только в локальную папку. Проблему с размещением на сетевом ресурсе можно обойти использовав команду mklink и создав ссылку на сетевой ресурс. Например создайте ссылку mklink /d «D:\HubReceiveSMTPLog» \\Server\HubReceiveSMTPLog , теперь вы можете используя командлет Set-TransportService и параметр –ReceiveProtocolLogPath «D:\HubReceiveSMTPLog» хранить ReceiveSMTP логи на сетевом ресурсе. Данный способ подходит и для других логов.

IIS log files

В логе IIS у вас будет информация например о подключении вашего ipad с помощью протокола activesync. Размер IIS логов, если за ним не уследить может быть очень большим. Как же их автоматом удалить или переместить на другой диск?

1.Автоматическое удаление логов

Запускайте ежедневно через scheduler следующий скрипт ps1 (измените путь хранения логов если нужно) и все ваши логи IIS старше 30 дней будут удаляться не требуя вашего внимания.

set-location c:\inetpub\logs\LogFiles\W3SVC1\

foreach ($File in get-childitem) {

if ($File.LastWriteTime -lt (Get-Date).AddDays(-30)) {

del $File

Запускать скрипт ps1 через scheduler вы можете следующим образом:

  • Создайте задачу в scheduler
  • Создайте action: start a program
  • В поле program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  • В поле add arguments(optional): -command “pathTOscript\name.ps1”

2.Перемещение логов в другое место

  • Откройте IIS Manager from Administrative Tools и выберете Default Web Site.

  • Откройте Logging (щелкните два раза на иконке Logging)
  • Измените место хранения логов

  • Сохраните изменения. Следующий файл лога запишется в новое место хранения
  • Тоже самое можно сделать при мощи powershell:

Import-Module WebAdministration

Set-ItemProperty ‘IIS:\Sites\Default Web Site’ -name logfile.directory «D:\IISLogs»

Папка Logging

И наконец папка Logging которая по умолчанию находится в ‘C:\Program Files\Microsoft\Exchange Server\V15\Logging. Здесь хранится множество логов различных служб, и может занимать достаточно большое количество места. Особенно выделяются по объему diagnostic and performance log files которые находятся в папке ‘C:\Program Files\Microsoft\Exchange Server\V15\Logging\Diagnostics

На просторах интернета было найдено простое решение этого вопроса, запускайте ежедневно через scheduler и все логи из этих папок старше 14 дней перестанут вас беспокоить 🙂

gci ‘C:\Program Files\Microsoft\Exchange Server\V15\Logging’,’C:\inetpub\logs’ -Directory | gci -Include ‘*.log’,’*.blg’ -Recurse | ? LastWriteTime -lt (Get-Date).AddDays(-14) | Remove-Item

P.S. Я лично предпочитаю резать только diagnostics:

gci ‘C:\Program Files\Microsoft\Exchange Server\V15\Logging\Diagnostics’ -Directory | gci -Include ‘*.log’,’*.blg’ -Recurse | ? LastWriteTime -lt (Get-Date).AddDays(-2) | Remove-Item

Время от времени администратор Exchange сталкивается с ситуацией, когда сообщения соответствующие определенным критериям должны быть удалены из большого числа почтовых ящиков или транспортных очередей сервера Exchange. Такая необходимость может возникнуть из-за какой-либо массовой рассылки, когда сообщение отправлено случайно в большую группу рассылки или большому числу отдельных получателей или когда нужно предпринять усилия по очистке от последствий распространения вируса массовой почтовой рассылки (хотя они встречаются все реже и являются предметом заботы антивирусных сканеров серверов Exchange).

Соответствующие шаги описаны в различных местах документации Exchange, но может быть достаточно трудно, чтобы обратиться к нескольким источникам, если вы имеете смешанную среду содержащую несколько версий Exchange сервера. Мы хотели бы собрать в одном месте в некоторой степени обобщенные инструкции о том, как выполнить эти задачи во всех ныне поддерживаемых версиях Exchange Server - Exchange 2010, Exchange 2007 и Exchange 2003.

Удаление сообщений из почтовых ящиков

Удаление сообщений из командной строки в Exchange 2010 RTM и Exchange 2007

В Exchange 2010 RTM и в Exchange 2007 вы можете использовать командлет Export-Mailbox для того, чтобы экспортировать или удалять сообщения. В Exchange 2010 SP1 действия по экспорту почтового ящика выполняются командлетом New-MailboxExportRequest и рассматриваются в отдельной статье. Действия по поиску и удалению сообщений выполняются командлетом Search-Mailbox .

Разрешения

В Exchange 2010 учетной записи должна быть назначена роль экспорта и импорта почтового ящика для того, чтобы выполнять операцию, используя Export-Mailbox в Exchange 2010 RTM или Search-Mailbox в Exchange 2010 SP1. Если эта роль не назначена, то вы не сможете выполнять или «видеть» этот командлет.

Многофункциональный командлет Export-Mailbox может экспортировать содержимое почтового ящика на основе имен папок, диапазонов даты и времени, имен вложенных файлов и многих других фильтров. Сужение поиска предотвращает случайное удаление полезной почты. Для дополнительной информации, описания синтаксиса и параметров, смотрите следующие ссылки:

Учетная запись, используемая для экспорта информации, должна быть учетной записью Exchange Server Administrator, членом локальной группы Administrators целевого сервера и иметь полные права (Full Access) на исходный и целевой почтовые ящики. Целевой почтовый ящик должен быть заранее создан, как и целевая папка, которую вы указываете, тоже должна быть создана до выполнения команды.

Добавление и удаление необходимых разрешений

Следующий пример показывает, как извлечь все почтовые ящики организации Exchange и назначить полные права учетной записи MyAdmin. Вы должны выполнить эту операцию перед экспортом или удалением сообщений из почтовых ящиков пользователей. Отметим, что если вам необходимо экспортировать или удалить сообщения только из нескольких почтовых ящиков, то вы можете использовать командлет Get-Mailbox с соответствующими фильтрами или перечислить все исходные почтовые ящики.

Get-Mailbox -ResultSize unlimited | Add-MailboxPermission -User MyAdmin -AccessRights FullAccess -InheritanceType all

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

Get-Mailbox -ResultSize unlimited | Remove-MailboxPermission -User MyAdmin -AccessRights FullAccess -InheritanceType all

Удаление сообщений

Вот несколько примеров удаления сообщений.

В следующем примере удаляются все сообщения из папки Inbox почтовых ящиков на сервере Server1 , которые содержат ключевые слова «Friday Party» и получены между 7-м и 9-м сентября. Эти сообщения будут удаляться из почтовых ящиков и копироваться в папку DeleteMsgs почтового ящика MyBackupMailbox. После этого администратор может просмотреть сообщения в почтовом ящике MyBackupMailbox и удалить их. Формат параметров StartDate и EndDate должен соответствовать формату даты установленной на сервере: это или mm-dd-yyyy или dd-mm-yyyy.

Get-Mailbox -Server Server1 -ResultSize Unlimited | Export-Mailbox -SubjectKeywords "Friday Party" -IncludeFolders "\Inbox" -StartDate "09/07/2010" -EndDate "09/09/2010" -DeleteContent -TargetMailbox MyBackupMailbox -TargetFolder DeleteMsgs -Confirm:$false

В этом примере из всех почтовых ящиков удаляются все сообщения содержащие ключевые слова «Friday Party» в теле или заголовке.

Get-Mailbox -ResultSize Unlimited | Export-Mailbox -ContentKeywords "Friday Party" -TargetMailbox MyBackupMailbox -TargetFolder "Friday Party" -DeleteContent

Рекомендуется всегда использовать целевой почтовый ящик (указывая параметры TargetMailbox и TargetFolder), чтобы иметь копию удаляемых сообщений. Вы можете просмотреть сообщения перед окончательным их удалением, так что любые нормальные сообщения, попавшие под действие фильтра, могут быть импортированы обратно в исходный почтовый ящик владельца. Однако можно просто удалить все сообщения без вспомогательного копирования их в другой почтовый ящик.

В этом примере из всех почтовых ящиков удаляются все сообщения, содержащие ключевые слова «Friday Party» в теле или заголовке, без копирования их в целевой почтовый ящик:

Get-Mailbox | Export-Mailbox -ContentKeywords "Friday Party" -DeleteContent

Удаление сообщений на серверах Exchange 2003 and Exchange 2000 с помощью ExMerge

Утилита ExMerge может использоваться на Exchange серверах старых версий для экспорта почтовых сообщений. Шаги для удаления нежелательных сообщений их почтовых ящиков пользователей описаны в статье KB 328202 Удаление зараженных вирусом сообщения из почтовых ящиков с помощью средства ExMerge.exe .

Удаление сообщений из общих папок

Вы можете использовать Outlook Object Model для того, чтобы удалять сообщения из общих папок. Это работает на любой версии сервера Exchange. Обратная сторона этого варианта в том, что он медленный и может затыкаться, когда он обрабатывает очень большие папки в десятки тысяч записей. В Exchange 2010/2007 вы можете использовать Exchange Web Services для удаления сообщений из общих папок. EWS не имет проблем с большими папками.

Для дополнительной информации смотрите следующие статьи:

Удаление сообщений из почтовых очередей

Удаление сообщений из почтовых очередей Exchange 2010 RTM и Exchange 2007

Удаление сообщения из очереди - это процесс из двух шагов. Первая вещь, которую надо сделать - это приостановить (suspend) само сообщение. Как только сообщение приостановлено, вы можете продолжить и удалить его из очереди. Следующие команды приостанавливают и удаляют сообщение на основе его заголовка.

Exchange 2007 SP1 и SP2

Следующая команда приостанавливает сообщения со строкой «Friday Party» в транспортных очередях на всех транспортных серверах организации:

Get-TransportServer | Get-Queue | Get-Message -ResultSize unlimited | where{$_.Subject -eq "Friday Party" -and $_.Queue -notlike "*\Submission*"} | Suspend-Message

Следующая команда удаляет все приостановленные сообщения, исключая очередь Submission:

Get-TransportServer | Get-Queue | Get-Message -ResultSize unlimited | where{$_.status -eq "suspended" -and $_.Queue -notlike "*\Submission*"} | Remove-Message -WithNDR $False

Exchange 2010 и Exchange 2007 SP3

Следующая команда приостанавливает сообщения со строкой «Friday Party» в заголовке во всех транспортных очередях на всех транспортных серверах организации:

Get-TransportServer | Get-Queue | Get-Message -ResultSize unlimited | where {$_.Subject -eq "Friday Party"} | Suspend-Message

Следующая команда удаляет все приостановленные предыдущей командой сообщения:

Get-TransportServer | Get-Queue | Get-Message -ResultSize unlimited | Where {$_.Subject -eq "Friday Party"} | Remove-Message -WithNDR $False

Отметим, что вы можете выполнять эти команды на конкретном транспортном сервере, указав его имя после Get-TransportServer.

Приостановка и удаление сообщений в заданной транспортной очереди

Вы можете приостановить и удалить сообщения из конкретной очереди. Чтобы получить список очередей на транспортном сервере, используйте командлет Get-Queue.

Следующая команда приостанавливает сообщения со строкой «Friday Party» в заголовке из заданной очереди:

Get-Message -Queue "server\queue" -ResultSize unlimited | where{$_.Subject -eq "Friday Party"} | Suspend-Message

Следующая команда удаляет все приостановленные предыдущей командой сообщения из заданной очереди:

Get-Message -Queue "server\queue" -ResultSize unlimited | where{$_.Subject -eq "Friday Party" } | Remove-Message -WithNDR $False

Очистка очередей в Exchange Server 2000 в Exchange Server 2003 с помощью MFCMAPI

В Exchange 2003/2000 вы можете использовать MFCMapi для отчистки очередей сообщений. Для дополнительной информации смотрите статью KB 906557 «Как использовать утилиту Mfcmapi.exe для просмотра и работы с сообщениями в SMTP TempTables в Exchange 2000 Server и Exchange Server 2003».

Если в очередях находится большое количество сообщений, то вы, скорее всего, захотите ограничить число сообщений отображаемое за один раз. В панели инструментов этой утилиты выберете Other > Options и в поле Throttle Level измените значение на более предпочтительное (например, 1000).

Предотвращение доставки сообщений с помощью транспортных правил

В Exchange 2010 и Exchange 2007 вы можете использовать визард создания нового транспортного правила (New Transport Rule) в оснастке EMC, чтобы легко создавать транспортные правила. Следующие примеры иллюстрируют, как добиться того же самого через командную строку. Отметим различия синтаксиса между версиями. (В Exchange 2010 командлеты транспортных правил упрощены, позволяя вам создавать и модифицировать транспортные правила в одну строку).

Создание транспортного правила для удаления сообщения в Exchange 2010

New-TransportRule -Name "purge Friday Party messages" -Priority "0" -Enabled $true -SubjectContainsWords "Friday Party" -DeleteMessage $true

Создание транспортного правила для удаления сообщения в Exchange 2007

В следующем примере создается транспортное правило для удаления сообщения со строкой «Friday Party» в заголовке:

$condition = Get-TransportRulePredicate SubjectContains
$condition.Words = @("Friday Party")
$action = Get-TransportRuleAction DeleteMessage
New-TransportRule -name "purge Friday Party messages" -Conditions @($condition) -Actions @($action) -Priority 0

Анжелика Конде, Эд Бринджес

Перевод: Илья Сазонов, MVP

Добрый день!. В прошлой статье, о автоматическом подключении почтового ящика в Outlook , я рассказал, что буду чаще рассказывать про Microsoft Exchange Server, который я долго обходил стороной. Продолжаю придерживаться своему обещанию, и сегодня хочу поведать, о том как можно выгрузить список почтовых ящиков в Exchange Server , это очень часто встречающаяся необходимость, которую выполняют системные администраторы в свои трудовые будни. Я расскажу, как фильтровать все это дело, подсчитывать общее количество почтовых ящиков, и научу все это выгружать в текстовый файл, для последующего анализа. Уверен, что данная заметка окажется весьма полезной, тем людям, кто только начал работать с этим монстром от Microsoft.

Как выгрузить список почтовых ящиков в Exchange Server

Хочу отметить, что данные команды будут работать как на Microsoft Exchane Server 2010, так и на 2013-16. И так, первая задача, узнать какие активные почтовые ящики есть на нашем Exchange Server, для выполнения нашей задачей мы воспользуется командлетом powershell Get-Mailbox . Открываем Exchange Management Shell (EMS), она находится в меню "Пуск"

Кстати Exchange Management Shell (EMS) имеет, только в 2010 SP1 почтовом сервере, свыше 500-та командлетов, так, что работать в ней можно очень серьезно.

Пишем вот такую команду:

Get-Mailbox | select -expand EmailAddresses | %{$_.SmtpAddress}

На выходе вы получаете список ящиков, учьтите, что время получения результата, прямо завит от количества почт на сервере Exchane, поэтому консоль powershell может подвисать. У меня получился вот такой вывод, содержащий адреса электронных почтовых ящиков Exchange, вы сразу у себя заметите, что вывод команды отдается все не по алфавиту, что не всегда удобно для анализа.

Чтобы выгрузка списка почтовых адресов была по алфавиту, то вам нужно слегка видоизменить вашу команду:

Get-Mailbox | select -expand EmailAddresses | %{$_.SmtpAddress} | sort

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

Но результаты выгрузки списка почтовых ящиков могут быть длинными и не умещаться на экране вывода powershell, для этого удобно все это дело будет выгрузить в текстовый файл, по которому легко будет и производить поиск и фильтровать. Для этого в есть командлет Out-File .

Get-Mailbox | select -expand EmailAddresses | %{$_.SmtpAddress} | sort | Out-File C:\scripts\all_mailbox.txt

  • Где Out-File C:\scripts\all_mailbox.txt - это путь до файла all_mailbox.txt в папке C:\scripts\, вы его меняете на свое значение

WARNING: By default, only the first 1000 items are returned. Use the ResultSize parameter to specify the number of items returned. To return all items, specify "-ResultSize Unlimited". Be aware that, depending on the actual number of items, returning all items can take a long time and consume a large amount of memory. Also, we don"t recommend storingn the results in a variable. Instead, pipe the results to another task or script to perform batch changes.

Обратите внимание, что по умолчанию выводится только 1000 ящиков, если нужно больше, то придется ввести параметр -ResultSize Unlimited .

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

Get-Mailbox | select -expand EmailAddresses | %{$_.SmtpAddress} | measure

У меня на одном из серверов их оказалось 2159 штук.

Еще бывают задачи от руководства или сотрудников, это посчитать и получить список почтовых ящиков на определенном домене, если кто-то не в курсе, то Microsoft Exchange Server позволят обслуживать огромное количество доменов, это нормальная практика. В итоге мы воспользуемся вот такой конструкцией.

Если вы хотите получить названия почтовых адресов в организации, чаще всего это ФИО и дату их создания, то выполните такую команду:

Get-Mailbox | Select-Object Name,WhenCreated | Out-File C:\scripts\all_name.txt

Как видите я получил точную дату, когда были созданы почты в организации и кому в плане ФИО, они принадлежат.

Чтобы выгрузить список пользователей, которые не заходили в почтовый ящик более, чем 30 дней с выгрузкой в файл, то выполните

Get-Mailbox -resultsize unlimited | Get-MailboxStatistics |?{$_.LastLogonTime -lt (date).adddays(-30)} | ft DisplayName,ItemCount,LastLogonTimeLast,LogoffTime,LastLoggedOnUserAccount -auto | Out-File C:\scripts\OLD_mailbox.txt

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

Обратите внимание, что в выводе ft, вы можете задавать много параметров, например, база данных database. Можно даже узнать, за конкретный месяц, так, например, получите список почтовых ящиков за сентябрь

Ну и за весь год, на момент написания статьи это 2018 год.

Бонусный скрипт получения списка адресов с размерами

Get-mailbox -OrganizationalUnit "holding.com/Users/" -resultsize unlimited | sort Name | %{
$Size=Get-MailboxStatistics $_.SamAccountName
$_ | Select-object Name, SamAccountName, @{Name="Size";Expression={((($Size).TotalItemSize).value).toMB()+((($Size).TotalDeletedItemSize).value).toMB()}}} | export-csv -encoding unicode -NoTypeInformation C:\scripts\mailbox..csv

В выводе будет реальный размер почтовых ящиков в базе данных Exchange сервер с учетом удаленных писем из каталога Recoverable Items. Скачать готовый скрипт можно по ссылке слева.

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

Удаление писем в Exchange 2013 бывает необходимо выполнить только из единственного почтового ящика, в случае отправки одному получателю, но встречаются и более сложные случаи, например, когда генеральный директор отправил конфиденциальные данные группе рассылки или, ещё хуже, целой компании. В последнем случае крайне нежелательно, чтобы вообще кто-то прочитал письмо и поэтому время идет даже не на минуты, а на секунды — надо как можно скорее удалить письмо вообще у всех сотрудников. Именно для такого сценария предназначена эта статья — чтобы под рукой всегда была подробная инструкция, в которой только и нужно что подставить свои данные в команду, выполнить её на вашем сервере и все будет готово и останется лишь ждать пока запрос будет обработан. Итак, начнем.

Найти больше информации по настройке и администрированию Exchange 2013 на моем блоге вы сможете в основной статье тематики — .

Нет смысла что-то выдумывать, просто цитата из статьи «Поиск и удаление сообщений «:

Поиск в почтовых ящиках. Эта роль позволяет искать сообщения в нескольких почтовых ящиках в пределах организации. Администраторы не имеют этой роли по умолчанию. Чтобы назначить себя этой роли для поиска в почтовых ящиках, добавьте себя в группу ролей «Управление обнаружением». См. раздел Назначение разрешений обнаружения электронных данных в Exchange .

Импорт и экспорт почтовых ящиков. Эта роль позволяет удалять сообщения из почтового ящика пользователя. По умолчанию эта роль группе ролей не назначена. Для удаления сообщений из почтовых ящиков пользователей следует добавить роль «Импорт и экспорт почтовых ящиков» в группу ролей «Управление организацией». Дополнительные сведения см. в разделе Добавление роли в группу ролей .

Удаление письма из одного ящика

Отозвать сообщение пока оно ещё не прочитано можно прямо из outlook. Как это сделать для версий outlook 2010, 2007, 2003 можно прочитать в статье «ОТЗЫВ ОТПРАВЛЕННЫХ ПИСЕМ В OUTLOOK 2010, 2007, 2003 «, либо на официальном сайте MS Office в учебных курсах «Учебные курсы по Outlook 2013 «, урок «Отзыв и замена отправленных сообщений «. Нас будет интересовать более сложный случай, когда сообщение уже помечено прочтенным.

Для этого выполним команду powershell, нам необходимо название почтового ящика, а также тема сообщения:

C:\Windows\system32>Search-Mailbox -Identity «egor01» -SearchQuery «Subject:’test message"» -DeleteContent

До и после удаления:

Удаление писем в Exchange 2013 у группы получателей

Логика проста — командлет «Get-Mailbox » возвращает список всех почтовых ящиков, который потом скармливается командлету «Search-Mailbox «. Если вы хотите удалить письма у определенной группы получателей, логично воспользоваться командлетом «Get-DistributionGroupMember «. Для увеличения скорости обработки команды можно отключить запрос на удаление при первом его появлении указав «да для всех». Все просто, переходим сразу к делу:

C:\Windows\system32>Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery «Subject:’test message"» -DeleteContent



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows