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

Можно было пойти двумя путями:

1) Назначить на каждый ящик себе полные права, зайти в каждый ящик и удалить письмо.

2) Написать скрипт, который сам пройдется по всем ящикам и удалит письмо.

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

$mailbox = get-mailbox -resultsize unlimited

Foreach ($user in $mailbox)

{
Search-mailbox -Identity $user.SamAccountName -SearchQuery subject:»Тестовое письмо» -DeleteContent -Force:$True
}

Данный скрипт заносит в переменную mailbox все почтовые ящики, а потом в цикле, с помощью командлета Search-mailbox  ищет письмо с темой «Тестовое письмо», удаляет его (аргумент -DeleteContent ), при этом автоматически происходит соглашение, что письмо надо удалить (аргумент -Force:$True)

Скорость выполнения зависит от производительности сервера.

Tagged with:  

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *