Задать вопрос
@Desert-Eagle
Новичок во всем

Какой командлет использовать для масс удаления письма?

Товарищи, не шарю в програминге от слова "совсем".
Подскажите с командлетом в powershell для exchange online. Есть образно 10/50/100 ящиков, нужно из одного ящика удалить все исходящие на внутренние адреса до определенной даты. А на остальных соответственно все входящие с этого адреса до определенной даты.
Проще всего думаю сделать в два этапа (к примеру):
1. Адрес А. Удаляем исходящие письма на внутренние адреса, которые были отправлены до 01.01.2022
2. Удаляем входящие письма полученные до 01.01.2022, где отправителем указан Адрес А.

С первоначальной установкой и подключением, все понятно:
Set-ExecutionPolicy RemoteSigned
Install-Module PowershellGet -Force
Update-Module PowershellGet
Install-Module -Name ExchangeOnlineManagement -Force -Scope AllUsers
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName admin@admin.ru -ShowProgress $true

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

Если кто-то делал подобное, то буду признателен за помощь.

UPD2:
Пробую Soft удаление, но не работает. Почта остается в ящике и я ее вижу, хотя поиск сработал, удаление сработало.

PS C:\WINDOWS\system32> <b>Get-ComplianceSearch -Identity "search2"| FL name,items,size,jobprogress,status</b>

Name        : search2
Items       : 61103
Size        : 23219880639
JobProgress : 100
Status      : Completed

PS C:\WINDOWS\system32> <b>New-ComplianceSearchAction -SearchName "search2" -Purge -PurgeType SoftDelete</b>                                                                                                                  
Confirm
Are you sure you want to perform this action?
Эта операция сделает элементы сообщения, удовлетворяющие критериям поиска соответствия "search2", недоступными для пользователей. Вы не сможете автоматически отменить удаление этих элементов сообщения.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Справка (значением по умолчанию является "Y"): A

Name          SearchName Action RunBy                   JobEndTime Status
----          ---------- ------ -----                   ---------- ------
search2_Purge search2    Purge  Системный администратор            Starting



PS C:\WINDOWS\system32> <b>Get-ComplianceSearchAction -Identity "search2_Purge"</b>

Name          SearchName Action RunBy                   JobEndTime         Status
----          ---------- ------ -----                   ----------         ------
search2_Purge search2    Purge  Системный администратор 05.03.2022 9:19:13 Completed

PS C:\WINDOWS\system32>
  • Вопрос задан
  • 697 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@NortheR73
системный инженер
1. PS на скрине явно говорит, что ошибка в параметре "sender" - такого параметра нет, есть параметр "from" (описание). Соответственно, поисковый запрос не формируется, о чем говорят последние строки с пустыми полями Name и т.д. Даты должны указываться в формате mm/dd/yyyy

2. Поисковый запрос (после создания) выполняется через
Start-ComplianceSearch -Identity "ContentSearch_for_Report2022"

3. Удаление:
New-ComplianceSearchAction -SearchName "ContentSearch_for_Report2022" -Purge -PurgeType HardDelete

Все действия подробно изложены, как минимум, тут и тут
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы