Páginas

Mostrando entradas con la etiqueta Perfiles. Mostrar todas las entradas
Mostrando entradas con la etiqueta Perfiles. Mostrar todas las entradas

24 agosto, 2015

Iniciar aplicaciones antes de la carga de perfiles de usuario

Si queremos iniciar una determinada aplicación en background antes de la carga de cualquier perfil de usuario, de modo que ya esté disponible cuando encendamos el equipo y nos apararezca la pantalla de bienvenida de Windows sin necesidad de iniciar sesión en la máquina local.

Simplemente tendremos que agregar en indicar la ruta del fichero binario .exe que lanza aplicación en la siguiente path del registro.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Una vez estemos en la clave Winlogon, a continuación buscamos el valor de cadena "Userinit" el cual tendremos que añadir el valor de ruta del fichero a ejecutar, por ejemplo: "C:\Program Files (x86)\CARPETA_APLICACIÓN\FICHERO.EXE".

Si queremos agregar más aplicaciones tendremos que separar las rutas por comas (,).

Figura 1: Winlogon, añadiendo aplicación en userinit.

El valor de cadena Userinit nos permite añadir aplicaciones u otros ficheros antes de la carga de perfiles de usuario de Windows.

Info. oficial de Microsoft: https://technet.microsoft.com/en-us/library/cc939862.aspx

Saludos!

31 marzo, 2014

Perfiles de usuario en Windows 7 - Definiciones, estructura y comparación con WinXP

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. 

Tipos de Perfiles: Locales, móviles y obligatorios

Perfiles locales (Local Profiles): Es el tipo de perfil que se crea cuando un usuario inicia sesión en un equipo y la información contenida y los cambios realizados solo estarán disponibles en dicho equipo y NO en ningún otro.

El perfil local funciona del siguiente modo:
  • 1.- El usuario inicia sesión.
  • 2.- Windows comprueba la lista de perfiles de usuario en la clave ProfileList si existe o no. En el primer caso, lo usa; en otro caso el sistema realiza una de las siguientes acciones:
  • 2.1.- Si el equipo es un miembro de dominio, Windows busca el recurso compartido NETLOGON en un DC el perfil de usuario predeterminado en la carpeta Default User. Si lo hay, lo copia a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 2.2.- Si no pertenece a un dominio o Windows no encuentra el perfil en NETLOGON, usa el perfil de usuario predeterminado Local, copiándolo desde: %SYSTEMDRIVE%\Usuarios\Default User a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 3.- Windows carga la sección del perfil NTUSER.DAT en la clave HKU y enlaza la clave raíz HKCU al mismo.
Cuando el usuario cierra sesión, el sistema guarda los cambios en la carpeta del perfil de usuario. No copia la carpeta de perfil en la red, y también descarga la sección desde el Registro.

Perfiles móviles (Roaming Profiles): Es un tipo de perfil que estará disponible desde cualquier equipo de la red. Los datos o información y cambios realizados se podrán visualizar en cualquier equipo de la red donde se inicie sesión.

Perfiles obligatorios (Mandatory Profiles): (Solo para usuario de dominio en "Active Directory"). Son perfiles de sólo lectura. Para crear un perfil obligatorio, basta con tomar un archivo NTUSER.DAT y cambiarle el nombre por NTUSER.MAN.
En la ventana del usuario de Active Directory, en la ficha "Perfil", especificamos la ubicación del fichero con extensión .MAN. De ese modo, cada vez que el usuario inicie sesión se cargará el perfil ntuser.man, pero NUNCA ser guardará ningún tipo de configuración cuando este cierre sesión.
Esto es una herencia de NT4.0 y hoy es mejor usar las directivas de grupo en su lugar.

El perfil móvil funciona del siguiente modo:
  • 1.- El usuario inicia sesión.
  • 2.- Windows comprueba la lista de perfiles de usuario en la clave ProfileList si existe o no. En el primer caso, el sistema combina la copia del perfil en la red dentro de la carpeta del perfil local; en otro caso el sistema realiza una de las siguientes acciones:
  • 2.1.- Windows comprueba si existe la carpeta de Default User en el recurso compartido NETLOGON de un DC. Si existe, copia la carpeta Default User a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 2.2.- Si Windows no encuentra la carpeta Default User en NETLOGON , copia %SYSTEMDRIVE%\Usuarios\Default User a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 3.- Windows carga la sección del perfil NTUSER.DAT en la clave HKU y enlaza la clave raíz HKCU al mismo.
Cuando el usuario cierra sesión, el sistema guarda los cambios en el perfil a la carpeta del perfil local y descarga las secciones de HKU. Después, copia la carpeta de perfil a la ubicación de red especificada. Si esta carpeta ya existe en la red, el sistema combina la local dentro de la copia de red.

A parte de estos tipos de perfiles y de los que se crean cuando el usuario inicia sesión por primera vez en un sistema Windows, también podemos ver otro tipo de perfiles generados por el sistema que podremos definir como:

Tipos de Perfiles especiales

El path de ubicación en el registro de Windows, en el cual podemos encontrar los usuarios por defecto creados por sistema que serían: Public o Acceso público y Default user:
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList
En esta clave podemos ver/modificar las rutas de localización por defecto a las que apuntan los directorios de estos perfiles, en el caso de necesitar hacer esto por alguna razón.

Dentro de la carpeta "Users" o "Usuarios" en la raíz C:\. Podemos encontrar los perfiles creados por defecto en Windows 7, para poder visualizarlos todos correctamente tendríamos que tener marcado las opciones de poder "ver todos los ficheros y carpetas ocultas" y "ficheros del sistema ocultos" en las 'Opciones de carpeta' del Explorer.

Acceso Público o Public (Windows 7) o All Users (Windows XP), (Todos los usuarios): Esta carpeta de perfil contiene la configuración que se aplica a todos los usuarios que inicien sesión en el equipo. Contiene una sección de perfil, NTUSER.DAT, que el sistema no carga. Contiene también las carpetas compartidas de documentos y música, accesos del menú de inicio compartidos, accesos directos en el escritorio que apareceran para todos los usuarios y más. 

La clave HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders tiene los vínculos a las subcarpetas de la carpeta del perfil de All Users.

Después otras configuraciones para Acceso Público irían en el path: %systemdrive%\ProgramData es decir en el raíz y no dentro de la carpeta de Acceso Público, esto para el caso de tratarse de Windows 7. En Windows 7 podremos ver un "Default User" con un icono de un "candado en una carpeta", esto es para mantener la compatibilidad con aplicaciones o migraciones de Win 7 a Win XP.

Default (Windows 7) o Default User (Windows XP) Usuario predeterminado: Contiene el perfil de usuario predeterminado que Windows copia cuando crea un nuevo perfil de usuario. Contiene la mayoría de archivos y carpetas que se han visto. Personalizar esta carpeta es una buena vía para iniciar cada usuario que inicia sesión en el equipo con la misma configuración. Windows comprueba primero la existencia de la carpeta de usuario predeterminado en el recurso compartido NETLOGON del servidor antes de usar la misma carpeta local si la copia en red no está disponible. Al personalizarla podemos implementar configuraciones que no queremos administrar. En Windows 7 podremos ver un "Default User" con un icono de un "candado en una carpeta", esto es para mantener la compatibilidad con aplicaciones o migraciones de Win 7 a Win XP.

LocalService (Servicio Local) y NetworkService (Servicio de Red): Son carpetas de perfil para la cuenta integrada de Servicio Local y de Servicio de Red, las cuales usan Service Control Manager para los servicios que no necesitan ejecutarse bajo la cuenta LocalSystem. Son perfiles normales de usuariarios con datos limitados, no lo vemos en el cuadro de diálogo de perfiles de usuario y sus carpetas están super-ocultas. En Windows 7 estas carpetas no se muestran físicamente ni como ocultas, pero existen las cuentas creadas de las mismas en el sistema.

Administrador y/o otros usuarios: Estos son perfiles normales del sistema y depende si ya hubiésemos o no creado dichos perfiles o entráramos alguna vez en ellos.

Carpetas del perfil

En cada perfil creado existe un determinado contenido en su interior que podremos denominar como: las "Carpetas del perfil" muchas de estas permanecen de modo oculto.

Las carpetas de un perfil de usuario contienen los archivos de aplicación por usuario. Por ejemplo, las plantillas instaladas de MS Office y diccionarios personalizados, las cookies almacenadas de IE o navegadores, configuraciones de otras aplicaciones, configuraciones del aspecto del perfil de Windows, accesos directos, etc.

A parte de las ya conocidas en Windows XP, no haré referencia todas las carpetas en profundidad si no que mencionaré las que me parecen más interesantes para la administración y gestión de perfiles de usuario, ya que las típicas

NTUSER.DAT: Es un archivo oculto de registro. Cada archivo NTUSER.DAT de usuario contiene los parámetros de configuración del registro de Windows para esa cuenta en concreto en la cual se almacenan las preferencias del usuario que tenga establecidas a lo largo del tiempo. La configuración de la carpeta de registro "HKEY_CURRENT_USER" está soportada por el actual archivo NTUSER.DAT de usuario.
Este se encuentra en el path del usuario: C:\Users\NOMBRE_USUARIO.

AppData: La cual contiene a tres carpetas: Local, LocalLow y Roaming.

Local
: Denominada así en Windows 7, contiene archivos de aplicaciones que no viajan con el perfil. Los archivos que encontramos aquí son por equipo o demasiado grandes para copiarlos vía red.
En Win XP esta misma carpeta es denominada: Configuración local (Local Settings) y estaba como carpeta oculta en el path: C:\Documents and Settings\%USER%\Configuración local\Datos de programa
  • Datos de Programa (Application Data): Datos específicos de aplicaciones por-equipo.
  • Historial (History): Historial del Internet Explorer.
  • Temp: Archivos temporales por-usuario.
  • Archivos Temporales de Internet (Temporary Internet Files): Archivos desconectados de Internet Explorer.
LocalLow: Es igual que la carpeta 'Local' anterior, pero tiene un nivel de integridad más baja. Por ejemplo, IE8, sólo se puede escribir en la carpeta LocalLow (cuando el modo protegido está activado).

Roaming
: Su contenido son archivos de diversos programas: e-mail, accesos directos, plantillas, etc… Cada distribuidor de software elige que archivos almacena aquí. Todas los temporales, históricos, logs, historiales de conversación de determinadas aplicaciones, plantillas, ficheros que almacenan configuraciones de determinado software, etc. Todo esto y más está guardado en este carpeta. Podremos acceder rápidamente a ella con la variable de entorno %APPDATA%.

Esta carpeta puede redireccionarse a una ubicación de red mediante directivas de grupo. En Win XP esta misma carpeta es Datos de programa (Application Data) en el path: C:\Documents and Settings\%USER%\Datos de programa.

El resto de carpetas cambia un poco la forma de llamarlas y verlas de como era en Windows XP a Windows 7 veremos que existen carpetas ocultas y del estilo de un acceso directo (un tipo de "enlace simbólico"), también llamadas igual que como se llamaban en Win XP. Esto ocurre por motivos de compatibilidad entre sistemas operativos y/o interacción con aplicaciones o migraciones de OS de Win XP a Win 7, de modo que nos ayuda a mantener la integridad y funcionalidad de aplicaciones y sistema operativo.

Por lo que la aclarar este punto anterior no entraré en profundidad en cada una de dichas carpetas restantes situadas en la raíz del perfil, ya que me parece que son suficientemente obvias para explicarlas.

En Windows XP la carpeta SendTo está en la raíz del perfil como oculta: Contiene accesos directos a unidades, carpetas y aplicaciones de destino. Si hacemos doble clic en un objeto y pulsamos en Enviar a, obtenemos una lista de estos destinos, y si pulsamos en cualquiera de ellos el objeto se enviará a esa unidad, carpeta o aplicación. Esta carpeta podemos editarla añadiendo o eliminando accesos directos mapeados a sitios, ya sean paths de alguna ubicación en concreto o atajos para aplicaciones.

En Windows 7, esta carpeta desaparece de la ubicación donde se encontraba en Win XP y pasa al siguiente directorio: C:\Usuarios\%USER%\AppData\Roaming\Microsoft\Windows\SendTo.

Espero que esta entrada aclarase algunas o muchas dudas aquellas personas que las pudiesen tener respeto al tema de como los administra/gestiona Windows.

Saludos!

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. 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.

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.

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.

Lo que no será borrado es 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!

Entradas Populares