Cómo administrar las reglas de la bandeja de entrada en Exchange mediante PowerShell

Gestionar las reglas del buzón de Outlook puede ser un poco complicado a veces, sobre todo cuando no funcionan como se espera o desaparecen inesperadamente. Si intentas administrar reglas en diferentes entornos, como Exchange Server o Microsoft 365, debes ejecutar los comandos correctamente. A veces, las reglas se corrompen y es entonces cuando las cosas empiezan a funcionar de forma extraña. Es un poco frustrante, pero existen métodos para limpiar o ajustar las reglas con PowerShell, lo cual es genial porque la interfaz gráfica de usuario solo te ayuda hasta cierto punto.

Si las reglas no funcionan o estás buscando la manera de crearlas o eliminarlas, PowerShell es tu mejor aliado. Recuerda que las reglas tienen límites de tamaño (normalmente unos 64 KB para Exchange 2019/2016/2013/2010), así que si tus reglas se acumulan o se vuelven demasiado detalladas, llegarás a un límite. Puedes aumentar ese límite hasta 256 KB ejecutando Set-Mailbox -Identity john.doe -RulesQuota 256Kb. No sé por qué funciona, pero en algunas configuraciones, eso es lo que garantiza un funcionamiento fluido y sin errores.

Cómo corregir las reglas del buzón de Outlook mediante PowerShell

Comprender las normas existentes y su funcionamiento

Si las reglas no aparecen en Outlook ni en OWA, podría deberse a que existen reglas ocultas del servidor que se ejecutan en segundo plano. Para comprobar qué reglas están realmente activas, debe conectarse a Exchange con PowerShell. En un servidor Exchange local, podría necesitar hacer algo como esto:

$Session = New-PSSession -ConfigurationName Microsoft. Exchange -ConnectionUri http://mun-exch1.woshub.com/PowerShell/ -Authentication Kerberos -Credential $UserCredential Import-PSSession $Session

Para Microsoft 365, la rutina es un poco diferente. Debe instalar el módulo ExchangeOnlineManagement y conectarse mediante:

Install-Module -Name ExchangeOnlineManagement Connect-ExchangeOnline

Una vez conectado, puede listar todas las reglas en el buzón de un usuario. Por ejemplo:

Get-InboxRule –Mailbox john.doe

Esto le permite ver el nombre, el estado (si está habilitado), la prioridad y un identificador único (RuleIdentity) de cada regla. Si sospecha que hay reglas ocultas o que no son visibles normalmente, agregue el parámetro -IncludeHidden :

Get-InboxRule -Mailbox john.doe -IncludeHidden

Esto puede revelar reglas ocultas que a veces causan problemas o conflictos. Tenga en cuenta que estas reglas ocultas pueden ser restos de reglas corruptas anteriores o de reglas eliminadas que no se solucionaron por completo.

Creación de nuevas reglas con PowerShell: lo que necesita saber

Si necesita configurar una nueva regla, el cmdlet que debe usar es New-InboxRule. Por ejemplo, supongamos que necesita reenviar automáticamente correos electrónicos con ciertas palabras clave en el asunto a otro usuario. Ejecute algo similar a esto:

New-InboxRule -Name ZenossAlerttoHelpdesk -Mailbox NYadmin -SubjectContainsWords "Zenoss HW Alert" -ForwardTo "Helpdesk"

Aquí es donde la cosa se pone interesante: al crear reglas mediante PowerShell, algunas reglas del cliente de Outlook podrían deshabilitarse o sobrescribir las existentes, especialmente si se habían desactivado previamente en Outlook. En una configuración funcionó a la primera, en otra…no tanto. Es curioso cómo sucede a veces, pero así es Microsoft. Siempre haz una copia de seguridad de tus reglas si te preocupa perderlo todo.

Otro escenario común: se busca una regla para resaltar correos electrónicos importantes. Aquí hay un ejemplo para etiquetar mensajes de un remitente específico como de alta prioridad y asignarles un color:

New-InboxRule -Mailbox john.doe -From "[email protected]" -ApplyCategory "Red Category" -MarkImportance "High"

Este tipo de automatización puede ahorrar mucho clics y mantener la bandeja de entrada manejable. Al configurar estas reglas, deberían aparecer en Outlook tras una actualización, pero controle la cuota de reglas; no querrá sobrepasar ese límite y causar errores.

Cómo deshabilitar o eliminar reglas de forma limpia

Si una regla no funciona correctamente o simplemente satura tu buzón, deshabilitarla o eliminarla es muy sencillo. Para deshabilitarla, ejecuta:

Disable-InboxRule –Mailbox john.doe -Identity “SecretaryRule”

Esto desactiva la regla sin eliminarla, lo cual puede ser útil si desea probar cosas o detener una regla temporalmente. Para eliminar una regla por completo, simplemente haga lo siguiente:

Remove-InboxRule –Mailbox john.doe -Identity SecretaryRule

El comando suele solicitar confirmación: presione Yy pulse Intro. Si desea eliminar todas las reglas a la vez (por ejemplo, si su buzón está repleto de reglas incorrectas), puede ejecutar:

Get-inboxrule -Mailbox john.doe | Disable-InboxRule

O, si te sientes valiente, aclara todo con:

Get-InboxRule -Mailbox john.doe | Remove-InboxRule

Pero ten cuidado: esto elimina todas las reglas sin preguntar. Mejor compruébalo primero.

Si las reglas de Outlook se niegan a deshabilitarse o eliminarse, o si Outlook muestra errores como «No se pueden mostrar las reglas de Fuera de oficina» o «Los recursos del sistema están extremadamente bajos», probablemente se deba a que las reglas están dañadas. En ese caso, es recomendable eliminar todas las reglas, incluidas las ocultas:

Get-InboxRule -Mailbox john.doe -IncludeHidden | Remove-InboxRule

Esto limpia el borrón y cuenta nueva, pero asegúrate de que no te importe perder todas las reglas actuales. Es una decisión brutal, pero a veces necesaria.

Resumen

Administrar reglas de Outlook en Exchange o Microsoft 365 puede resultar complicado: las reglas pueden corromperse, ocultarse o simplemente volverse voluminosas. PowerShell resulta ser la herramienta más potente para corregir, crear o eliminar reglas sin problemas. Solo recuerde controlar el tamaño de las reglas y realizar siempre una copia de seguridad antes de realizar cambios importantes.

Resumen

  • Conéctese a su entorno de Exchange mediante PowerShell para administrar reglas.
  • Úselo Get-InboxRulecon opciones como -IncludeHidden para encontrar reglas ocultas.
  • Crea reglas según New-InboxRulelas condiciones que necesites.
  • Deshabilite las reglas con Disable-InboxRuleo elimínelas con Remove-InboxRule.
  • Si las reglas causan problemas, considere eliminar todas las reglas usando Get-InboxRule -IncludeHidden | Remove-InboxRule.

Espero que esto ayude a aclarar las cosas y a ahorrar tiempo al solucionar esas reglas de buzón tan difíciles. Es algo que ha funcionado en varias máquinas hasta ahora; ojalá sirva de algo.