Cómo instalar fuentes en Windows mediante GPO y PowerShell

Este artículo cubre prácticamente los aspectos básicos de la instalación de fuentes adicionales en varias máquinas Windows en un entorno de Active Directory mediante scripts de GPO o PowerShell. Genial, ¿verdad? Pero a veces, seguir estos pasos no es suficiente, sobre todo si las fuentes no se muestran o la GPO no parece activarse. Parece que Windows puede ser terco con el registro de fuentes, y a veces los ajustes del registro o la copia de archivos no funcionan a la primera.

En mi experiencia, si las fuentes no se instalan correctamente, una buena primera medida es revisar las claves de registro y los permisos de archivo. Además, esté atento a problemas de actualización de GPO. Windows tiende a retrasarse o a no aplicar las políticas inmediatamente, por lo que ejecutar gpupdate /forcedesde la línea de comandos o reiniciar el dispositivo cliente suele ser útil. A veces, basta con asegurarse de que los archivos de fuentes sean accesibles para los equipos cliente y de que las entradas de registro sean correctas.

Cómo implementar fuentes correctamente mediante la directiva de grupo

Asegúrese de que los archivos de fuentes sean accesibles desde las PC cliente

  • Copie los archivos *.ttf o *.otf a una carpeta compartida a la que todos los equipos cliente puedan acceder. Cree un recurso compartido dedicado o colóquelos en una carpeta SYSVOL común en su controlador de dominio. Asegúrese de que los permisos estén configurados para que todos los equipos puedan leer los archivos.
  • Ejemplo de ruta compartida: \\woshub.com\SYSVOL\woshub.com\scripts\Fonts

Este paso es crucial porque, si los clientes no pueden acceder a las fuentes, no ocurre nada. Verá rápidamente en el Visor de Eventos si hay errores relacionados con el acceso a archivos o la aplicación de GPO.

Configurar GPO para copiar archivos de fuentes y actualizar el registro

  • En la Consola de administración de políticas de grupo, cree o edite un GPO, como «GPO_InstallFonts».
  • Vaya a Configuración del equipo -> Preferencias -> Configuración de Windows -> Archivos. Aquí, configure las reglas para copiar los archivos de fuentes del recurso compartido de red directamente a [ Nombre del archivo %WindowsDir%\Fonts].Use una ruta similar a [ \\woshub.com\SYSVOL\woshub.com\scripts\Fonts\Roboto-Black.ttfNombre del archivo] como Origen y %Windir%\Fonts\Roboto-Black.ttfcomo Destino.
  • Asegúrese de que la acción de copia esté configurada con «Reemplazar» o «Actualizar» para evitar conflictos.
  • A continuación, actualice el registro para registrar la fuente. Puede hacerlo creando una opción de Preferencias del Registro: Configuración del equipo -> Preferencias -> Configuración de Windows -> Registro. Establezca una nueva clave en HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. El valor debe coincidir con el nombre del archivo de la fuente, por ejemplo, «Roboto-Black (TrueType)» = «Roboto-Black.ttf».

Esta combinación garantiza que el archivo de fuente se copie y registre en todos los clientes al aplicar la GPO. Recuerde ejecutarla gpupdate /forceen un cliente después de vincular la GPO para que se aplique de inmediato.

¿Por qué funciona este truco?

Este proceso automatiza básicamente la instalación manual: copia el archivo de fuente a la carpeta Fuentes (lo que activa la instalación de Windows) y luego agrega la entrada de registro correcta para que Windows la reconozca. A veces, Windows necesita ese ajuste del registro para que las fuentes aparezcan en la lista de fuentes o las aplicaciones comiencen a reconocerlas. Créeme, copiar archivos manualmente y editar el registro en cada equipo es un fastidio, así que hacerlo con GPO ahorra muchos dolores de cabeza.

Instalar fuentes con PowerShell: el atajo práctico

Por qué es posible que quieras omitir GPO y scripts

Si solo se necesita enviar unas pocas fuentes, o si el enfoque de GPO resulta complicado, PowerShell es la solución. Especialmente al trabajar con muchas fuentes, escribir un script para recorrer todos los archivos y gestionar la copia y el registro a la vez es más rápido y flexible. Además, puede agregar registros para solucionar cualquier problema fácilmente.

Explicación de un ejemplo de script de PowerShell

  • El script copia todos los archivos *.ttf y *.otf de una carpeta compartida en %SystemRoot%\Fonts(que es básicamente C:\Windows\Fonts).
  • Agrega una entrada al registro para cada fuente usando HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts, de modo que Windows reconoce la fuente.
  • Registra cada paso de la instalación en un archivo de registro, lo cual resulta útil para solucionar problemas extraños.

Un consejo rápido: quizás quieras ejecutar este script manualmente primero o enviarlo mediante la directiva de grupo o una tarea programada. Ten en cuenta que, a veces, incluso después de ejecutar el script, tendrás que cerrar sesión, volver a iniciarla o reiniciar para ver las fuentes disponibles en todas las aplicaciones.

Ah, ¿y si quieres eliminar todas las fuentes añadidas y restaurar la configuración predeterminada? Hay una forma de borrar el registro y los archivos de fuentes personalizadas, pero esa es otra historia.(Un enlace a una guía para eso aquí podría serte útil).

Dado que Windows puede ser muy exigente con la instalación de las fuentes, a veces es cuestión de prueba y error. Pero la clave está en garantizar los permisos, las entradas de registro correctas y que los archivos de fuentes sean accesibles desde cualquier lugar.