GUI для поиска содержимого почтовых ящиков Exchange и массового удаления сообщений (фишинг/малвара). Search-Mailbox, In-Place eDiscovery, org-wide delete. Все асинхронно через runspaces.
# GUI
.\EXRESearcher.ps1
# Тесты
Invoke-Pester -Path ./tests/Core.ps1— Exchange-функции: подключение, Search-Mailbox, eDiscovery, org-wide, статистика, folder cleanup, dumpster purge, дубликатыSettings.ps1— настройки, кэш, аудит-лог оператораAsyncRunner.ps1— async framework: runspaces, job tracker, progress bar, job console
- Mailbox Search — Search-Mailbox с KQL-фильтрами: subject, from, to, keywords, attachment, messageid, даты. Действия: Estimate / Log / Copy / Delete
- Org-Wide Delete — поиск и удаление по ВСЕМ ящикам организации (батчами). Двойное подтверждение, safety check
- eDiscovery — In-Place eDiscovery (New-MailboxSearch): создание, мониторинг, управление compliance-поисками
- Mailboxes — браузер ящиков: фильтрация, статистика, folder stats, быстрая передача в Search
- Folder Cleanup — поиск/удаление из папок с фильтрами (возраст, отправитель, тема, размер, вложения), purge dumpster, обнаружение дубликатов, backup+delete
- Audit Log — лог поисков и лог операций оператора
- Все Exchange-операции в runspaces (Start-AsyncJob)
- Job console + progress bar внизу
- Comprehensive try/catch — ядро не падает
EXCHANGE_SERVER— env variable для авто-заполнения- Settings в
%APPDATA%\EXRESearcher\settings.json
- Framework: Pester v5
tests/EXRESearcher.Tests.ps1
- Текущая версия: 1.3.0