Busquedas LDAP en Enterprise Vault no funcionan correctamente

Esta entrada es una traducción parcial de este post.

Al crear un grupo de provisión en el Enterprise Vault se puede definir una busqueda LDAP. Para la mayoría de los casos esto funciona sin problemas, sin embargo, con algunos atributos puede que la busqueda no retorne nada o retorne menos resultados de los que tú esperas.

El motivo de esto es que por defecto el Enterprise Vault consulta el catálogo global para estos atributos, y no todos los atributos de un objeto son replicados en el catálogo global del Active Directory. Uno de estos atributos es el employeeNumber, que era el que estaba usando yo para una de mis consultas.

Para resolver este problema puedes hacer una de dos cosas, puedes hacer que el atributo que estás utilizando para la busqueda se replique en el catálogo global. Esto no lo recomiendo ya que tiene consecuencias como el aumento del tráfico de replicación que tienes que tener en cuenta.

La segunda opcion es hacer que para una consulta en particular el Enterprise Vault consulte un controlador de dominio directamente en vez del catálogo global. Esto último lo podemos hacer cambiando GC:// por LDAP:// en nuestra consulta.

Convertir SID en Base64 a String con Powershell

Si exportas los datos del Active Directory usando LDIFDE te darás cuenta de que algunos campos vienen en formato Base64. Por lo general esto no es un problema, ya que estos se pueden decodificar usando cualquier herramienta de las muchas que hay en la web para este propósito. Sin embargo, en el caso del SID, si intentas pasar de Base64 a String verás que la salida esta compuesta de un montón de caracteres extraños.

Para pasar esto al formato que todos conocemos de S-1-5-***** puedes utilizar el siguiente script:

$sidBase64 = "AQUAAAAAAAUVAAAAPXj3WXwxNhGBjE3aTQQAAA=="

$sid = [System.Convert]::FromBase64String($sidBase64)

$nuevoSid = New-Object System.Security.Principal.SecurityIdentifier($sid, 0)

$nuevoSid.ToString()

sid

Referencia

Instalar fuentes Adobe Type 1 desde script

Si trabajas en alguna empresa medianamente grande, seguramente en algún momento te pedirán que despliegues de forma masiva una nueva “fuente corporativa”. Instalar fuentes en Windows tiene varios problemas, el primero es que necesitas permisos administrativos para hacerlo (y tus usuarios no son administradores, ¿O si?). Y el segundo, es que quien se encarga de registrar las fuentes en el registro es el Shell de Windows, no basta con copiar las fuentes al directorio C:\Windows\Fonts.

¿Como hacemos entonces? Necesitamos instalar las fuentes en dos pasos, primero copiamos las fuentes a C:\Windows\Fonts y segundo las registramos en el sistema operativo a través de un archivo .reg. Este último lo exportaríamos de una maquina en la que hayamos instalado las fuentes manualmente. Simplemente vamos a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Type 1 Installer\Type 1 Fonts y hacemos clic en Archivo->Exportar.

Este script hace precisamente esto. OJO: solo funciona para fuentes Type 1. Para fuentes True Type el procedimiento sería parecido pero habría que exportar la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

La verdad es que la forma de instalar fuentes a traves de un script siempre me ha parecido bastante mala, si se te ocurre alguna mejor forma por favor déjala en los comentarios.

Referencia

Exportar detalle de Shortcuts de Enterprise Vault desde Exchange

Debido a una incidencia que tuvimos con el Enterprise Vault, tuve que buscar la forma de exportar los shortcuts de un buzón de Exchange a CSV para despues hacer un control de daños de cuáles correos teníamos que recuperar.

No fue una tarea fácil, pero al final lo logré teniendo como base el genial script de Michel de Rooij de este enlace.

Para ejecutar el script solo hay que descargar el Exchange Web Services API y ponerlo en la misma carpeta del script, luego hay que modificar los 5 parámetros del script y ejecutarlo.

El script no es bonito, ni está documentado, ni tiene control de errores (cuando tenga tiempo lo hago), pero funciona (por lo menos en Exchange 2010 SP3).

Descargar script.