Teh Hermit
Trace: • скрыть_кнопку_подписки • отслеживание_и_поиск_сообщений

Отслеживание сообщений

Отслеживание сообщений через транспортные логи

Удобные команды, с помощью которых можно отслеживать логи сообщений.

Последние 12 часов по отправителю:

Get-MessageTrackingLog -Start (Get-Date).AddHours(-12) -ResultSize unlimited | where {[string]$_.sender -like "user@domain.ru"}

Последние 12 часов по получателю:

Get-MessageTrackingLog -Start (Get-Date).AddHours(-12) -ResultSize unlimited | where {[string]$_.recipients -like "username*"}

По отправителю и получателю за последние 24 часа:

Get-MessageTrackingLog -Start (Get-Date).AddHours(-24) -ResultSize unlimited | where {[string]$_.sender -like "sender@domain.ru" -and [string]$_.recipients -like "recepient@domain.ru"}

Конкретная дата по получателю:

Get-MessageTrackingLog -Start "06/21/2024 00:00:01" -End "06/22/2024 00:00:01" -ResultSize unlimited | where {[string]$_.recipients -like "user*"}

Вывести информацию с адресами клиентов для события RECEIVE из MessageTrackingLog

Get-TransportService | ForEach-Object {Get-MessageTrackingLog -Start "06/21/2024 00:00:01" -End "06/22/2024 00:00:01" -ResultSize unlimited -EventId RECEIVE | where {[string]$_.recipients -like "user*"}} | Select-Object -Property Sender,Recipients,Timestamp,OriginalClientIp

Поиск сообщений через Search-Mailbox

В некоторых случаях, к примеру, если штатная функция eDiscovery не работает, или не выполняеется командлет поиска по всей организации New-MailboxSearch (такое может случиться по разным причинам), нам может помочь циклический поиск по всем ящикам организации через search-mailbox.

В данном примере мы выполним поиск по всем ящикам организации для mailbox@mail.ru как в качестве возможного отправителя и в качестве возможного получателя (для этого используется параметр participants), начиная с 2019-го года с полным уровнем логирования поиска (LogLevel Full) и отправим результаты в ящик Exchange mailbox_results - в папку search_results_mailbox.

$allmbxinyourorg = Get-Mailbox -ResultSize unlimited
Foreach ($mbx in $allmbxinyourorg) {
Search-Mailbox -identity $mbx -SearchQuery '(participants: mailbox@mail.ru) AND received>"2019-01-01"' -TargetMailbox "mailbox_results" -TargetFolder "search_results_mailbox" -LogLevel Full
}

А в данном примере поищем упоминания слова word в теле письма или его теме.

$allmbxinyourorg = Get-Mailbox -ResultSize unlimited
Foreach ($mbx in $allmbxinyourorg) {
Search-Mailbox -identity $mbx -SearchQuery '(Body:"word" OR Subject:"word")' -TargetMailbox "search_results_mailbox" -TargetFolder "search_results_folder" -LogLevel Full
}

Запросить всю внешнюю почту для конкретного ящика “user@contoso.com”, исключая внутренний домен contoso.com (пользователь, как видно, принадлежит данному домену), можно командлетом, в котором сначала отрабатывается условие для получения всех входящих, исключая выделенный домен, а затем фильтруется исходящие (домен также исключается).

search-mailbox -identity "user@contoso.com" -SearchQuery '((NOT from:"@contoso.com") AND (NOT from:"User*")) OR ((NOT to:"@contoso.com") AND (NOT to:"User*"))' -TargetMailbox "search_result_mailbox" -TargetFolder "search_results_folder"

Запросы на экспорт могут копиться. Если требуется очистить ВСЕ запросы - это можно сделать так:

 get-mailboxexportrequest | Remove-MailboxExportRequest

Запрос статистической информации

Пример выгрузки информации о количестве писем в Inbox и вложенных подпапках:

 Get-MailboxFolderStatistics -Identity "mailbox_name" -FolderScope Inbox | select Identity,ItemsInFolder

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

Get-Mailbox -OrganizationalUnit "OU=unit,DC=domain,DC=domain,DC=domain" | Get-MailboxFolderStatistics -FolderScope Inbox | select Identity,ItemsInFolder | ft -AutoSize >> c:\mailstats.txt
Exchange, Microsoft, Mail, PowerShell
Previous Next

Teh Hermit

Table of Contents

  

Microsoft

  Active Directory
  Active Directory Certificate Services
  Active Directory Federation Services
  BitLocker
  Terminal Services
  HYPER-V
  Exchange
  Internet Information Services (IIS)
  Storage Spaces Direct
  WSUS
  Windows Server
  Windows Server Core
  Windows
  Windows Admin Center
  Windows Backup
  Windows Firewall
  Windows 11
  Microsoft Office
  IPAM
  NPS и RADIUS
  Office Online
  Microsoft SQL Server
  Microsoft Endpoint Configuration Manager
  PowerShell
  KMS-активация

Unix-like

  Astra Linux
  Asterisk и FreePBX
  SQUID
  Debian
  CentOS
  Ubuntu Server + Desktop
  pfSense
  PostgreSQL
  SSH
  OpenSSL
  Zabbix

  

Hardware

  Keychron
  WakeOnLan
  Серверы HP
  Серверы SNR
  Настройка планшетов Handheld

  

Networking

  Cisco
  D-Link
  Mikrotik
  Keenetic

  

Other

  1С
  Docker
  DokuWiki
  Ghost Blog
  GoodbyeDPI
  Graylog
  VMWare
  ProxMox
  PrivateBin
  Outline VPN
  Wireguard
  Российская криптография
  Р-Виртуализация
  Kaspersky
  FileZilla ftp-сервер
  Soti MobiControl
  SysInternals
  VeraCrypt
  Non-Sucking Service Manager
  NMAP

     

DevOps

  Git
  Gitlab