Saltar al contenido
Inicio / Directivas de Grupo / GPO: Asignar una imagen personalizada a cada usuario en su sesión del dominio

GPO: Asignar una imagen personalizada a cada usuario en su sesión del dominio

?Seguramente muchos de vuestros clientes os habrán preguntado por la posibilidad de que cada usuario pueda tener su foto asignada en su cuenta del dominio. Esto es relativamente sencillo sin tener que modificar ningún atributo del usuario en el Directorio Activo ni complicarnos mucho la vida. Desde Windows Vista tenemos la posibilidad de especificar una imagen para cada usuario, y la idea es que podamos tener una carpeta en el servidor con las fotos de los usuarios y que se aplique como imagen de su cuenta

Imagen_usuario_gpo.png

En Windows Vista y 7 la imagen por defecto de cualquier usuario se almacena en  "%ALLUSERSPROFILE%\Microsoft\User Account Pictures" y existen dos ficheros:Imagen_personalizada_usuarios_1.jpg

user.bmp: imagen por defecto para las cuentas de usuario

guest.bmp: imagen por defecto para la cuenta de invitado

 

Lo que debemos hacer es muy sencillo, sustituir la imagen user.bmp por la del usuario que ha iniciado sesión, para ello utilizaremos un SCRIPT muy sencillo para copiar la imagen del usuario:

*******************************************************************************************************

REM Se lanza una aplicación que comprueba la membresía del usuario, tratando de distinguir si es un usuario o administrador

@\\Asirlab.com\LAB\Fotos\IsMember.exe "GRP ASIRLAB"

 REM Si el usuario pertenece al grupo GRP ASIRLAB devolverá un 1 en caso contrario un 0

@if ERRORLEVEL 1 goto Usuarios
@if ERRORLEVEL 0 goto Administradores 
@goto end
REM Copia la imagen del usuario desde una ubicación de red y la pega en el equipo local en la ruta "%ALLUSERSPROFILE%\Microsoft\User Account Pictures" con el nombre user.bmp con el modificaro /y para que sobrescriba la imagen sin preguntar
:Usuarios
xcopy \\Asirlab.com\LAB\Fotos\Users\%username%.bmp "%ALLUSERSPROFILE%\Microsoft\User Account Pictures" /y
rename "%ALLUSERSPROFILE%\Microsoft\User Account Pictures\%username%.bmp" "%ALLUSERSPROFILE%\Microsoft\User Account Pictures\user.bmp"
@goto end
 
REM Copia la imagen para un usuario que no pertenezca al grupo GRP ASIRLAB desde una ubicación de red y la pega en el equipo local en la ruta "%ALLUSERSPROFILE%\Microsoft\User Account Pictures" con el nombre user.bmp con el modificaro /y para que sobrescriba la imagen sin preguntar. La imagen es una por defecto que tiene el sistema
:Administradores
xcopy \\Asirlab.com\LAB\Fotos\Admins\user.bmp "%ALLUSERSPROFILE%\Microsoft\User Account Pictures" /y
:end
*******************************************************************************************************

Ahora debemos crear una GPO para que se ejecute el script en el inicio de sesión por parte del usuario en el dominio. Aqui os dejo un script sencillito (cmd o bat como queráis) y lo agregamos a la GPO desde la opción Configuración de usuario – Configuración de Windows – Scripts (inicio de sesión o cierre) – Iniciar sesiónImagen_personalizada_usuarios_2.jpg
El problema que tendríamos ahora mismo es que el usuario no puede modificar el fichero USER.BMP situado en "%ALLUSERSPROFILE%\Microsoft\User Account Pictures" por lo que tenemos que aplicar los permisos necesarios en todos los equipos del dominio. Para ello crearemos otra GPO aplicada a los equipos del dominio y con la siguiente configuración, para ello vamos a Configuración del equipo – Configuración de Windows – Configuración de Seguridad – Sistema de archivos – Agregar archivo…
Imagen_personalizada_usuarios_4.jpg

seleccionamos el fichero en cuestión "%ALLUSERSPROFILE%\Microsoft\User Account Pictures\user.bmp", como la carpeta está oculta no podemos verla desde el miniexplorador, por lo que podemos pegar la ubicación en recuadro habilitado para ello
Imagen_personalizada_usuarios_5.jpg
y ahora aplicamos los permisos necesarios: MODIFICAR. Yo he creado un grupo específico para aplicar esos permisos: ACL Files User Account Pictures (HRW) y con la opción Reemplazar los permisos existentes en todas las subcarpetas y archivos con perimsos heredablesImagen_personalizada_usuarios_3.jpg

Ahora nos queda pendiente compartir la carpeta con las fotos y la  utilidad que comprobará de que grupo es miembro el usuario. Creamos una carpeta en nuestro servidor y la compartimos con los siguientes permisos:

GRUPO ?PERMISO RECURSO COMPARTIDO ?PERMISOS NTFS??
?ACL FILES PICTURES USER (HRO) ?LEER ?LEER
 

Agregamos a la carpeta al DFS para seguir con la misma estructura de carpetas y nomenclaturas, y accederíamos a la carpeta mediante la siguiente ruta:

\\Asirlab.com\LAB\Fotos

copiaremos las fotos del usuario con el nombre del usuario y extensión BMP y el fichero ISMEMBER.EXE

\\Asirlab.com\LAB\Fotos

ismember.exe

sbuitrago.bmp

jperez.bmp

amartinez.bmp

Si queremos que los usuarios solo tengan acceso a su imagen, debemos configurar los permisos de lectura sobre cada imagen con permisos exclusivo al propietario (usuario) y a los administradores. La dimensión de la imagen debe ser 128×128 pixeles y en formato BMP, y con esto hemos terminado la configuración.  Ahora cuando un usuario inicie sesión copiará su imagen   "%ALLUSERSPROFILE%\Microsoft\User Account Pictures\user.bmp" y sobreescribiendo la anterior imagen sea la suya o no. Esto no ralentizará el inicio de sesión, puesto que el copiado de 50KB (más o menos) no es ningún esfuerzo para la red, servidor y equipo.

Es un proceso "manual" pero igual de útil, para aplicar los permisos sobre la carpeta en donde están las imágenes podéis crear un script para que aplique los permisos cada x minutos. Por ejemplo, podemos querer que la gente del departamento de RRHH copie las fotos en la carpeta de Fotos y luego el script modifique el permiso sobre la imagen. De esta forma alguien podrá copiar la imagen sin depender del administrador.

Aqui os dejo el script y el ismember:

user_picture.raruser_picture.rar

ismember.rarismember.rar

Debéis cambiar el nombre del grupo que utilizareis para comprobar si es un usuario de empresa o administrador, y la ruta de los ficheros compartidos, etc.. pero vamos eso es trivial. Esta configuración funciona en Windows Vista y 7, aun no lo he probado en Windows 8 pero creo que ha cambiado algo la forma de asignar las fotos de los usuarios, porque ahora adapta las imágenes en distintos tamaños, etc…

Imagen_personalizada_usuarios_6.jpg
en cuanto lo  vea bien os cuento pero me tiene toda la "pinta" de que se hará de forma "similar". He visto esta directiva para asignar la misma imagen a todos los usuarios, y sigue con mismo conecpto de la imagen en la misma ruta, etc… por lo visto ahora es con el formato JPEG. Será cuestión de probarlo …Imagen_personalizada_usuarios_8.jpg

Espero que os sea de utilidad!!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Comparte!