spamEste artículo viene motivado por un problema que tuve al añadir un dominio para ser bloqueado en el filtro de contenido, mediante la shell de 2007. Al poco tiempo, decidí modificar el filtro y añadir un dominio adicional. El problema es que el filtro de contenido no permite añadir varios dominios. Ahora veremos como crear listas mediante variables, y así poder añadir varias direcciones o dominios a nuestro filtro, al tiempo que se facilita la administración del mismo.

En primer lugar, vamos a dirigirnos a la Shell de 2007 para ver la configuración actual del filtro. Ejecutaremos:

Get-ContentFilterConfig

Para añadir un dominio a la lista blanca del filtro de contenido, introducimos:

Set-ContentFilterConfig –BypassedSenderDomains yahoo.com

También podemos añadir comodines (“*”) para subdominios del dominio principal (*.yahoo.com), al incluirlos en la lista blanca:

Set-ContentFilterConfig –BypassedSenderDomains *.yahoo.com

Para quitar el dominio de lista blanca:

Set-ContentFilterConfig –BypassedSenderDomains pepito.com

De este modo, sobreescribimos el dominio añadido anteriormente (yahoo.com) por un valor aleatorio (pepito) o un nuevo dominio. De ello deducimos que el comando “Set-ContentFilterConfig” añade un dominio sobreescribiendo el anterior. No es posible añadir varios dominios. Es decir, si ejecutamos estos dos comandos  en el orden en que se muestra:

Set-ContentFilterConfig –BypassedSenderDomains 111.com
Set-ContentFilterConfig –BypassedSenderDomains 222.com

Añadimos en primer lugar el dominio 111. com, y posteriormente lo cambiamos por el 222.com, pero en ningún caso se acumulan los dominios añadidos. El único dominio que estaría en la lista blanca sería el 222.com. Este modo es útil cuando solamente tenemos añadido un dominio a la lista blanca. Si tuvieramos que añadir varios dominios, es preferible asignar el valor a una variable en la cual iremos indicando los dominios que nos interese añadir. De este modo, la gestión se facilita en gran medida.

Como hemos visto anteriormente, el comando “Get-ContentFilterConfig” nos muestra la configuración del filtro de contenido. A continuación vamos a asociar a ese comando a una variable (la llamaremos “$list”), para el filtro de contenido. Crearemos la variable ejecutando:

$list = (Get-ContentFilterConfig).BypassedSenderDomains

Para ver los dominio asignados a esta variable, basta con ejecutar el nombre de la misma:

$list

Ello nos devolverá un listado con el único registro que tenemos añadido. Ahora que ya hemos creado la variable para el filtro de contenido, podemos añadir dominios a esa variable pero sin sustituir los ya existentes. Para añadir un dominio (ejemplo: 333.com) a nuestra variable “$list” teclearemos:

$List.add(“333.com”)

Si ahora volvemos a ejecutar “$list” podremos ver el listado de estos dominios ya añadidos, y no solo uno como anteriormente había. Al igual que hemos usado la variable para los dominios entrantes, también podemos utilizarla para direcciones concretas que queramos añadir, mediante el “Bypassedsenders” en lugar del “BypassedSenderDomains”. De este modo,  asociaremos la variable “$list” a las direcciones mediante:

$List = (Get-ContentFilterConfig).BypassedSenders

Y añadiremos direcciones concretas a nuestro filtro, ejecutando:

$List.add(“fulanito@dominiocualquiera.com”)

Si volvemos a solicitar un listado (“$list”) nos devolverá todos los ajustes añadidos, tanto dominios como direcciones. Del mismo modo que el comando “$list.add” nos permite añadir elementos (dominios o direcciones), el comando “$list.remove” nos permite eliminarlas. Por ejemplo, para quitar la dirección añadida anteriormente, ejecutamos:

$List.remove(“fulanito@dominiocualquiera.com”)

Finalmente, solo queda aplicar los cambios efectuados en la variable, ejecutando en nuestro caso:

set-contentfilterconfig -bypassedsenders:$list

Nota importante: Todos los ajustes añadidos desde la Shell no se muestran en la consola de 2007, por lo que se aconseja utilizar siempre la Shell.