15 octubre, 2012

Renombrar o borrar perfiles locales de usuarios de dominio en Windows 7

Empezamos por decir a groso modo que; cuentas de usuario y perfiles de usuario NO es lo mismo, ya que la cuenta vamos a decir y/o entender de algún modo que son las credenciales del usuario y el perfil el contenido en un equipo de este.
En este caso me centro en los perfiles locales creados por el inicio de sesión de usuarios de Active Directory con cuentas de usuario de dominio.

Perfiles dañados:

En algunos casos ocurre que los perfiles locales de alguna cuenta de usuario de dominio o locales pueden estar afectando al mal funcionamiento de este; ya sea por alguna aplicación, por corromperse los ficheros de referencia en el registro de este usuario (los ficheros NTUSER, que hacen referencia a los parámetros o preferencias del usuario en el sistema) o simplemente por fallos que solo ocurren con dicho usuario en un equipo concreto.
Un fallo muy habitual en usuarios de dominio por lo que tengo comprobado es encontrarnos con el siguiente aviso cuando iniciamos sesión de usuario: "Error en el inicio de sesión del servicio de perfil de usuario".

Cuando estos perfiles se corrompen, pueden hacerlo sin más y quedar tal cual están o puede darse el caso en el que cada vez que iniciemos sesión con el perfil de usuario dañado este no cargue bien el perfil y se inicie de "modo temporal", esto lo que hará es que si el perfil original se llama "Pepe", no iniciará como Pepe, si no que lo hará a través de un "Temp" la cual es una carpeta creada en la que podremos verla en 'Documents and Senttings' (WinXP) o 'Usuarios' (WinVista/7).
Esta carpeta representa la instancia actual de sesión iniciada del perfil que se quiso iniciar pero por causa de estar dañado generó un perfil temporal. Este perfil NO almacena ninguna información ni de configuración ni de datos relacionada con el perfil original afectado. Por lo que, de entrada nos sorprenderemos si pensábamos que habíamos perdido los datos de nuestro sistema!, pero no es así.

Independientemente de si se genera una carpeta temporal 'Temp' o no. Puede darse también el caso, de que se genere una carpeta del estilo: NombreUsuario.NombreEquipo. Suponiendo que mi equipo se llama "PC-Portatil" y cogiendo el ejemplo anterior, mi usuario es "Pepe", quedaría algo tal que así: Pepe.PC-Portatil, esto es muy típico verlo en entornos de equipos unidos a un dominio, equipos corporativos. Ya que al fallar la autentificación o simplemente que no carguen de manera adecuada ciertos servicios de red-dominio en el usuario de dominio a conectarse, Windows genera un perfil con el nombre de ese usuario de forma local. O si no, formamos parte de un equipo de dominio y nos ocurre esto, es por que al igual que el anterior caso del perfil temporal, este lo genera de este modo.

Renombrar o borrar perfiles dañados o corruptos:

En Windows XP esto era una tarea fácil, ya que solo bastaba con renombrar el perfil del usuario. Por ejemplo, si el usuario es "PEPE" podrías renombrar con "_PEPE" y listo. Al iniciar sesión de nuevo con este usuario se generaría un nuevo perfil "PEPE" cogido de la referencia del perfil "Default User".

Pues en Windows 7 esto no funciona de igual modo, en este caso a parte de hacer lo anterior (renombrar manualmente el perfil) también necesitamos modificar el registro de Windows, eliminando ciertas subclaves que hacen referencia al perfil local de usuario en el sistema. Esto es si lo queremos hacer de forma manual.

NOTA: Aunque existe una tool recomendada por Microsoft para realizar borrados de perfiles la cual se interactúa mediante consola de comandos llamada Delprof, el cual podemos consultar sus parámetros y modo de empleo en la ayuda del comando (delprof /?) o en la propia descarga se nos adjunta un fichero mht de ayuda.

Pero lo que miraremos es como hacerlo de forma manual:

Para ello nos iríamos a la path que contiene la lista de perfiles actuales en el sistema:
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList
Esta clave contiene diferentes subclaves por cada perfil de usuario, donde su nombre apunta a un SID (Security IDentifier) de la cuenta.
El valor de ProfileImagePath es la ruta de NTUSER.DAT para ese perfil de usuario. ProfileList no contiene un valor a la sección SID_Classes, sin embargo HKLM\SYSTEM\CurentControlSet\Control\hivelist contiene un valor por cada sección en HKLM y HKU que el sistema está actualmente utilizando. La diferencia entre los valores ProfileList y HiveList son en que:
- ProfileList: Contiene una lista de todos los perfiles de usuario de los que Windows tiene constancia de su existencia.
- HiveList: Contiene una lista de todas las secciones actualmente cargadas.

Lo que tendremos que hacer después de renombrar o eliminar la carpeta del perfil de usuario es eliminar la subclave entera del registro que apunta a dicho perfil. De modo que al iniciar sesión de nuevo en el equipo este vuelva a cargar las configuraciones del usuario y cree valores por defecto del perfil de referencia "Default User" y genere un nuevo SID para este usuario y que así vuelva apuntar a este de forma correcta.

También podremos eliminar el perfil a través de la opción "correcta" que nos ofrece Windows en: "Ejecutar -> sysdm.cpl" (Equipo -> Propiedades -> Configuración avanzada del sistema) -> Opciones avanzadas -> Perfiles de usuario -> Configuración -> Seleccionamos el perfil afectado -> Eliminar.
En el caso de NO ver claramente el nombre del perfil afectado, nos podremos encontrar algo como "Cuenta desconocida", esto ocurre por lo hablado anteriormente donde comentaba los "Perfiles dañados".
Si solo nos aparece una de estas cuentas la eliminamos sin piedad, si vemos más cuentas de este estilo, podemos eliminarlas igualmente ya que deben ser cuentas dañadas en un pasado, o si queremos dejarlas "por si a caso" y solo borrar el perfil dañado actual, podemos fijarnos en la "fecha de modificación" o el "tamaño del perfil" como referencia.
Antes mencionaba que esta sería la opción correcta de borrar un perfil. Por qué?.
Porqué Windows lo que hace es eliminar la carpeta de perfil y el SID del registro en un mismo paso, EXCEPTO el nombre de cuenta de usuario lo podemos ver en: (Ejecutar -> lusrmgr.msc).
Personalmente si todo está bien, los borro de este último modo, pero si los perfiles están corruptos prefiero hacerlo todo de manera manual.

Si la carpeta del perfil ya está borrada y simplemente se nos crea un TEMP cuando iniciamos con el usuario afectado, entrando en el registro de Windows vemos que aparece un SID con la terminación .bak lo que haremos será renombrar ese SID, QUITANDO esa extensión .bak. Quedando solo la clave con el identificador a mostrar.
Nos fijaremos al entrar en cada clave el valor del "ProfileImagePath", este nos mostrará el usuario relacionado con ese SID.

Figura 1: Eliminando SID de usuario con problemas del registro de Windows 7.

Ahora bien, si SOLO vemos una carpeta con el SID de usuario y SOLO ese SID tiene un .bak al final y no hay ningún otro TEMP, ni ningún SID del mismo usuario duplicado, simplemente nos bastaría con poner a 0 los contadores. Estos contadores son valores del registro de esa clave en en ese SID en cuestión.
Podríamos a "0" los valores: RefCount y State.

Más info. de este último caso: http://support.microsoft.com/kb/947215/es

Con esto solucionaremos la mayoría de problemas de este tipo y estaremos renombrando perfiles locales de usuarios de cuentas de dominio de la manera que yo conozco más adecuada y fiable.

Añado otra forma de BORRAR perfiles de usuario de DOMINIO de forma más gráfica.


Esto SOLO BORRAR (no renombrar), según "lo aconseja Microsfot" y también igualmente válida y "limpia", es directamente borrar o eliminar un perfil de usuario tanto la carpeta de perfil como la clave de registro SID en ProfileList que apunta a el, esto se puede hacer directamente desde las propiedades de sistema (sysdm.cpl), en la pestaña de Opciones avanzadas > Configuración... 

Figura 2: Configuración para perfiles de usuario en: Opciones avanzadas de propiedades del sistema.

Una vez situados aquí, podremos seleccionar el perfil afectado y directamente eliminarlo. Esto hará que se borre completamente la carpeta de usuario creada en el sistema así como la clave de registro SID que apunta a el.
Aclaro que, lo que si NO BORRARÁ será la cuenta LOCAL (en el caso de que sea local y no de dominio) de usuario creada (podemos verla en lusrmgr.msc) y digo cuenta de usuario, no perfil de usuario.
Lo cual esto dependerá de si lo queremos borrar definitivamente tendríamos que borrar también la cuenta a parte, o si solo queremos eliminar el perfil y volver iniciar sesión con dicho usuario local creado, de forma que se solucione algún problema en concreto.

Figura 3: Eliminación de la carpeta local del perfil + SID de ProfileList del registro de Windows.

Por último decir que esta última opción en ocasiones (en un pequeño porcentaje), no funciona correctamente ya que nos puede saltar algún tipo de error en la eliminación de perfil, en ese caso lo haremos de forma manual como expliqué más arriba de este artículo.

Espero que tanto la solución manual como esta última, la más gráfica, las dos propuestas por Microsoft, sea de utilidad a muchos para realizar esta tarea.

Saludos!

8 Comentarios :

Jorge diaz barrera dijo...

Hola, tengo un problema lo que pasa es que borre todos los usuarios en Equipo\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion, y no me deja crear nuevos usuarios ni dandole en opciones avanzadas ni asignando control total en los usuarios que trato de agregar, por ejemplo en la ventana de opciones avanzadas donde dice Auditoria sale un mensaje que dice: No tiene permiso para ver ni editar la configuracion de auditoria de este objeto. Te pido ayuda ya que al borrar esos permisos no puedo acceder al inicio en la barra de tareas ni a configuraciones del equipo

Adrián Lois dijo...

Hola @Jorge,

La ruta del registro que me indicas está incompleta? no entiendo muy bien la situación que me comentas.
Pero puedo entender que finalmente perdiste permisos de administrador en tu equipo local y ahora no puedes realizar ciertas funciones de elevados privilegios?.
De ser así, te recomiendo entonces restablecer la password de administrador o crear un usuario del grupo administradores y a partir de ahí ir ajustando, te dejo una entrada de como hacer esto.

http://www.zonasystem.com/2011/07/generar-o-restablecer-la-password-o.html

Saludos!

Unknown dijo...

hola me paso lo mismo pero me equiboque y antes de renombrar borre el .bak que puedo hacer?

Adrián Lois dijo...

No hay problema si borraste unicamente el .bak. Tienes que buscar si existe otro SID igual que ese .bak (sin el .bak) y eliminarlo también.
Después en la carpeta de perfiles de usuarios locales, buscas el usuario relacionado con ese SID y aquí tienes varias opciones:
- Recuperar los datos que deseas y borrar directamente la carpeta.
- Renombrar la carpeta simplemente con una barra baja "_" por ejemplo al principio del nombre.

Y cualquiera de los dos casos anteriores volver a iniciar sesión para que el sistema genere una nueva y a su vez automáticamente generará un nuevo SID asociado a la carpeta de perfil para ese usuario.

Saludos!

rbandez dijo...

en mi caso borre la cuenta del AD, y se mantuvo el perfil creado en el equipo de la red, cree la cuenta nuevamente en ad, y cuando intento iniciar seccion en ese equipo me crea otro perfil, lo que quiero es iniciar seccion sin que se me pierda nada

Adrián Lois dijo...

Hola @rbandez, lo que comentas es un funcionamiento lógico y normal para el sistema.
Lo que debes hacer es copiar aquellas carpetas con la información del perfil local o del perfil en red y hacer backup de ellas.
Después eliminas tanto el perfil local como el puntero del registro que comento en el artículo. Una vez hecho esto inicias sesión de nuevo en ese equipo con la cuenta de usuario del AD y se generará un perfil nuevo a partir del DefaultUser, solo quedará copiar y reemplazar las carpetas que querías mantener, que suelen ser si se trata de un entorno corporativo: Desktop, Downloads, Favorites y poco más, puede darse el caso de recuperar alguna configuración muy espécifica en la %appdata% del usuario de algún software de terceros, si se diese el caso.

Pero en el AD no tendrías que tocar nada. Hay que distinguir entre una cuenta de usuario y un perfil de usuario.

Saludos!

Melina dijo...

Tengo un problema y es que cuando entré finalmente a ProfileList sólo me aparece un perfil que dice .../TEMP.MELINA y no tiene la extensión .bak, es decir, no puedo quitar ninguna extensión y mi perfil original no existe! Por favor, ayúdenme!

Adrián Lois dijo...

Hola @Melina, no tiene por que tener extensión .bak, simplemente comprueba que en el registro profilelist no esté nada vinculado a tu cuenta de usuario, de ser así, elimínalo directamente sin renombrar nada.
Los datos de tu cuenta están en tu perfil, es decir en tu carpeta local de tu cuenta (c:\users\melina) haz copia de ese carpeta a un pendrive u otra unidad extraible. Una vez tengas la copia hecha, elimina dicha carpeta sin más, tienes que eliminarla desde otro usuario no desde el mismo usuario (que sería el tuyo: melina), crea un usuario nuevo dentro del grupo de administradores para que tenga permisos para realizar esta acción. Y nuevamente vuelve a iniciar sesión con tu cuenta personal, elimina el usuario creado anteriormente para dejar todo como estaba y vete restaurando el contenido de la carpeta a la nueva carpeta que se te crearía.

Un saludo.

Publicar un comentario

Entradas Relacionadas