Búsqueda y eliminación de emails o365 con powershell
En el ejemplo entro un spam de la dirección wll01wlt01@gmail.com, realizamos una búsqueda en todos los buzones de 365 para eliminarlo.
no recuerdo de donde saque el script (hace 1 año o mas) si alguien lo reconoce o ve otro autor si me lo comunica con gusto lo nombro.
#Modulo EXO
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.4
Import-Module ExchangeOnlineManagement
#importacion de modulos…..
Connect-IPPSSession
# conexion a 365
New-ComplianceSearch -Name «wll01wlt01@gmail.com» -ExchangeLocation all -ContentMatchQuery ‘wll01wlt01@gmail.com’
Start-ComplianceSearch -Identity $Search.Identity
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True,Position=1)]
[string]$SearchName
)
$search = Get-ComplianceSearch $SearchName
if ($search.Status -ne «Completed»)
{
«Please wait until the search finishes.»;
break;
}
$results = $search.SuccessResults;
if (($search.Items -le 0) -or ([string]::IsNullOrWhiteSpace($results)))
{
«The compliance search » + $SearchName + » didn’t return any useful results.»;
break;
}
$mailboxes = @();
$lines = $results -split ‘[\r\n]+’;
foreach ($line in $lines)
{
if ($line -match ‘Location: (\S+),.+Item count: (\d+)’ -and $matches[2] -gt 0)
{
$mailboxes += $matches[1];
}
}
«Number of mailboxes that have search hits: » + $mailboxes.Count
###################
#New-ComplianceSearchAction -SearchName wll01wlt01@gmail.com -Purge -PurgeType HardDelete