Os dejo un script en powershell para exchange 2010, que uso para ver que no hay ningún mensaje parado en las colas de envío.
Tuve que inventarlo y ponerlo en tareas programas, porque un usuario le da por mandar todos los finales de mes un boletín a 300 personas y el ironport lógicamente nos le deja enviarlo, lo rechaza y lo deja en la cola de exchange parado con errores, esto hace que se ralentice algo el exchange.
El script es este:
##=======================================================
## Titulo : Estado de colas
## Descripcion : valida el estado de la arquitectura de Exchange
## Autor : Daniel Fuentes
## Fecha : 01/08/2017
##=======================================================
$time = Get-Date | Out-String
if (Get-TransportServer | Get-Queue | Where-Object { $_.MessageCount -ne 0 }) # esto comprueba el estado de las colas y si es diferente a 0 envia un mail
{
if (test-path $file){
$smtp = «NUESTRO SMTP»
$to = «xxxxxx@xxxxx.xxx»
$from = «xxxxxx@xxxx.xx»
$subject = «Aviso: estado de las colas de Exchange»
$body = $time
$body += «Todas las colas tienen que estar en 0`n»
$body += Get-TransportServer | Get-Queue | Format-Table -AutoSize -Property Identity,Status,MessageCount,NextHopDomain | Out-String -Width 500
$body += «Estas son las colas con problemas:`n»
$body += Get-TransportServer | Get-Queue | Where-Object { $_.MessageCount -eq 0} | Format-Table -AutoSize -Property Identity | Out-String
foreach ($recipient in $to) { Send-MailMessage -smtpServer $smtp -from $from -to $recipient -subject $subject -body $body #esto envia un coreeo a cara cuenta que pongamso en $to
}
}
else
{
write-output «Fichero no encontrado» | Out-File D:\script\estado_colas.txt -Append -width 300 # este genera un log por si algo ha fallado
}
}
##============================FIN========================
Espero que os sirva