Cómo compartir los accesos directos de la barra de inicio entre sesiones de Windows

Situación

Como todos conocemos y asumimos (sorprendentemente), Windows es un sistema que se guarrea automáticamente con el tiempo.

Para evitarlo, hemos decidido virtualizar un escritorio Windows 2008 Server R2 (con la idea equivocada de que por ser Server será más estable) e instalarlo en modo amnésico, o no persistente (es decir, cada vez que apagas y enciendes la máquina virtual, los cambios desaparecen), programado para olvidar todo cada semana, pero trabajamos en un entorno con muchos usuarios que quieren guardar sus configuraciones para trabajar cómodamente.

Para conseguirlo, utilizamos una directiva de grupo GPO en la que configuramos la redirección de directorios (Folder Redirection) y perfiles móviles (Roaming Profile Path) para que todas las configuraciones de usuario se guarden en discos duros de red que se encuentran fuera de esta máquina.

Problema

Cuando un usuario ancla un acceso directo a la barra de inicio, todo funciona hasta que el servidor ejecuta su amnesia, tras lo cual desaparece misteriosamente de ahí.

Nos ponemos a investigar, y resulta que en la ruta %AppData%\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\ encontramos todos los accesos directos que el usuario ha anclado (de hecho, puede que hasta encuentres duplicados de alguno), así que… ¿por qué no le aparecen?

Motivo

El problema radica en que, para que los accesos directos aparezcan en la barra de inicio, no solo hace falta tenerlos en la carpeta que hemos comentado antes, sino que además hacen falta las configuraciones que encontramos en la ruta HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband del registro de Windows (que podemos abrir ejecutando regedit.exe), las cuales son olvidadas cada semana junto con el resto de cambios en el registro.

Solución

Lo que vamos a hacer es crear dos scripts que se encarguen de respaldar y restaurar esas claves del registro cada vez que el usuario inicia o cierra la sesión. Ambos los colocaremos en una ruta en que todos los usuarios tengan permisos de lectura y ejecución.

Creamos un fichero de texto llamado taskbar-save.bat que contenga esto:

reg export HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband %AppData%\taskband.reg

A este otro lo llamaremos taskbar-load.bat:

reg import %AppData%\taskband.reg

Ahora vamos a asignar esos scripts a donde les corresponde. Para ello, abrimos el Administrador de directivas de grupo > buscamos nuestro GPO > botón derecho > Editar > Configuración de usuario > Directivas > Configuración de Windows > Scripts (inicio de sesión o cierre de sesión), y encontraremos dos opciones.

Haz doble click en Iniciar sesión > Agregar > Selecciona el script taskbar-load.bat > Aceptar.

Hacemos lo mismo en Cerrar sesión, pero seleccionamos taskbar-save.bat.

Ahora, cada vez que un usuario cierre su sesión, se guardará su configuración de aplicaciones ancladas en %AppData%\taskband.reg, y cuando la vuelva a abrir, se cargará de ahí mismo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s