W tym wpisie pokażę Wam jak w przypadku otrzymania wiadomości będącej spamem, która została przesłana do wszystkich kont wewnątrz naszego tenanta wyszukać tę wiadomość i usunąć ze skrzynek.
Tak jak pisałem w poprzednim wpisie, najpierw musimy zaimportować moduł ExchangeOnline oraz zalogować się w PS kontem administracyjnym Office365.
1 2 3 |
Install-Module -Name ExchangeOnlineManagement Import-Module ExchangeOnlineManagement Connect-ExchangeOnline |
Teraz możemy przystąpić do wyszukiwania maili. Przed rozpoczęciem wyszukiwania należy określić parametry po jakich chcemy dokonać wyszukiwania.
1 2 3 4 5 |
$Search=New-ComplianceSearch -Name "Search Name" -ExchangeLocation All -ContentMatchQuery '(Received:9/8/2022..9/10/2023) AND (Subject:"Click here !!!")' $Search=New-ComplianceSearch -Name "Search Name" -ExchangeLocation mail@ourdomain.com -ContentMatchQuery '(Received:1/22/2021..2/23/2021) and (Subject:"Click here !!!") AND (from:"sender@domain.com")' $Search=New-ComplianceSearch -Name "Search Name" -ExchangeLocation All -ContentMatchQuery '(from:"sender@domain.com") ' |
Powyżej podałem kilka przykładów w jaki sposób można wyszukiwać maile. W momencie kiedy mamy już określone warunki wyszukiwania należy to wyszukiwanie uruchomić.
1 |
Start-ComplianceSearch -Identity $Search.Identity |
Aby podejrzeć status wyszukiwania można użyć polecenia
1 |
Get-ComplianceSearch -Identity "Search Name" |
Kiedy status wyszukiwania będzie już zakończony to możemy sobie podejrzeć na jakich skrzynkach dany mail został znaleziony.
1 |
Get-ComplianceSearch -Identity "Search Name" | Format-List * |
Teraz należy usunąć wszystkie wiadomości, które zostały znalezione. Mamy dwie opcje usunięcia – Soft i Hard. Pierwsza usuwa wiadomość ale użytkownik ma możliwość jej przywrócenia z elementów usuniętych, druga usuwa wiadomość trwale.
1 2 3 4 |
$searchaction = New-ComplianceSearchAction -SearchName "Search Name" -Purge -PurgeType SoftDelete $searchaction = New-ComplianceSearchAction -SearchName "Search Name" -Purge -PurgeType HardDelete Get-ComplianceSearchAction -identity $searchaction.Identity | Format-List * |