Establecer inicio automático de cuenta de usuario (Autologon) en Windows 7

TipsLogo

Hola a todos,

De lo más interesante en ir conociendo poco a poco las herramientas de Sysinternals es que además de que son tal vez, y para mí, la mejor ayuda en casos de Solución de problemas, también se pueden utilizar como medio de conocimiento ya que, podemos utilizar por ejemplo, a Process Monitor para hacer seguimiento de aplicaciones o de comportamientos de Windows y aprender cómo se efectúan internamente y al hacerlo se aprende el comportamiento, el modo en que Windows funciona para dicho comportamiento y cómo se debe establecer para que en efecto funcione.

El siguiente artículo proviene de una de esas tantas dudas que me han surgido del funcionamiento de Windows y de las que afortunadamente he tenido la fortuna de entender un poco más utilizando Process Monitor. Como me encanta escribir aquí, quise otra vez compartir algo de lo que aprendí.

*Nota: Si desean no seguir la explicación técnica del comportamiento e ir directamente al Tip, pueden seguir directamente la última parte del artículo: “Entonces, ¿Cuál es el proceso para el Autologon manual?”.

Quizá a bastantes personas de los que puedan leer este artículo y lleven ya un tiempo probando Windows 7, en alguna ocasión se habrán preguntado cómo puedo hacer para que una de las tantas cuentas que inicia sesión en el equipo se predetermine e inicie automáticamente sin tener que ingresar credenciales; así, cuando esporádicamente se quiera cambiar a otra cuenta, símplemente sea cerrar sesión o bien cambiar de usuario.

Si estamos preparando una imagen personalizada o realizando Ingeniería de Imagen como formalmente se le conoce, utilizar un Archivo de autorespuesta en la instalación desatendida o para automatizar algunos procesos, esto lo podríamos especificar con el Componente de Autologon que incluye el System Image Manager (SIM) y al que le podemos personalizar fácilmente el nombre de usuario con el que deseamos iniciar automáticamente, sus respectivas credenciales y la cantidad de veces que deseamos que se produzca el inicio automático o Autologon:

image

Una vez instalado Windows, sigue realizando este Autologon después de cada reinicio dependiendo de la cantidad de veces especificadas (LogonCount).

La pregunta es: ¿Qué si no estoy haciendo Ingeniería de Imagen?

Para esta respuesta, Sysinternals entrega una estupenda herramienta llamada Autologon que brinda la posibilidad de programar el inicio automático tanto para usuarios locales como a nivel de dominio dejándome activar o desactivar cuantas veces quiera:

Autologon1

Este sería el método más fácil, pero personalmente me parece que se pierde dirversión =)

Lo interesante está, en saber ¿Qué es lo que hace Autologon para que pueda activar y desactivar los inicios automáticos tan fácilmente?

Investigando un poco el Autologon de Windows…

El proceso de Inicio de sesión de Windows está ligado al Servicio de Winlogon que administra el modo y la autenticación que realiza cada usuario para ingresar en el sistema operativo.

Process Monitor nos da una forma fácil de ver un poco el comportamiento cada que se realiza un inicio de sesión con una característica llamada Enable Boot Logging en el menú Options de la ventana principal:

image

Activando esta característica y cambiando de usuario para ingresar nuevamente con el que hayamos iniciado sesión podremos ver ya un poco lo que sucede de acuerdo a la Traza entregada por Process Monitor.

Como siempre, son demasiados eventos y la forma más fácil de empezar a filtrar es utilizando el cuadro de búsqueda presionando CTRL + F o bien en el menú Edit, opción Find.

La recomendación personal es siempre buscar por palabras que sean familiares a la tarea o proceso que estamos tratando de identificar, para este caso por ejemplo: Autologon, User, Username, etc.

Afortunadamente con el primer criterio (Autologon), después de unas cuentas repeticiones encontré esto:

Autologon2

Si nos fijamos en las dos selecciones que hice con color rojo, veremos que la primera Operación utiliza la función RegQueryValue (Operación de consulta) sobre la clave:
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonAutoAdminLogon

El resultado de esta Operación es SUCCESS que indica que la clave y Valor existen. Al navegar desde Process Monitor haciendo clic derecho y Jump To podemos ver que el contenido de este valor es “0” de forma predeterminada, lo que indica que el Autologon está desactivado:

image

Lo que sigue, es modificar el valor para asignarle “1” que sería Activado.

El mismo nombre lo indica, pero si queremos saber qué cuenta intenta iniciar automáticamente al reiniciar nos podremos dar cuenta que Windows no mostrará ninguna cuenta de usuario y en vez de esto nos pedirá ingresar manualmente usuario y contraseña con el que deseamos ingresar, básicamente para Autogestionar el Inicio de Sesión (AutoAdminLogon):

image

La parte importante está en la segunda clave subrayada en rojo de la captura anterior. Como ven también hace una operación de consulta utilizando la función RegQueryValue sobre la clave:
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonDefaultUserName

Sin embargo, el resultado es NAME NOT FOUND que, como ya hemos visto en numerosos artículos, se refiere a que el valor no existe (Puede implicar también las claves).

El nombre en este caso es también bastante claro, DefaultUserName en su traducción sería Nombre de usuario Predeterminado pero para saber cómo funciona, lo mejor es crear la clave y ver qué sucede.

*Nota: Podemos asegurarnos de antemano que no es un valor DWORD porque no está validando una condición de Verdadero o Falso sino que está buscando por contenido, el valor más apropiado entonces es de Cadena.

Para este artículo, yo creé la clave y le asigné el nombre exacto de una de las cuentas de usuario, (La misma que utilicé con Autologon que era Utl64):

image

*Nota: Para crear el valor, desde Process Monitor haciendo clic derecho sobre la clave y seleccionando Jump To iremos directamente al Editor de Registro situándonos en la respectiva clave, allí basta con hacer clic derecho, Nuevo y seleccionar Valor de cadena.

Lo que seguía ahora era reiniciar el equipo sin modificar el valor de AdminAutoLogon anterior y esperar para ver qué sucedía, lo que me encontré en mi caso fue esto:

image

El mensaje de “El nombre de usuario o contraseña no es correcto” indicaba que había algun problema con las credenciales, al darle al botón Aceptar reconocía el usuario con el que deseaba realizar Autologon pero me pedía la contraseña, ¡Ahí estaba el problema, en la Contraseña!

Efectivamente se está haciendo el Autologon porque trata de iniciar con la cuenta especificada, sin embargo, la contraseña que está intentando ingresar no es necesariamente la que corresponde.

Volví a mirar en el Log de Process Monitor buscando por la contraseña (Password) pero no encontré nada (Sin contar los llamados que hacía a la SAM).

Tengamos en cuenta que Autologon de Sysinternals sí utiliza el campo de la contraseña por lo que pensé que aún cuando la maneja de una forma encriptada podría descubrir algo que me ayudara para utilizarla.

De nuevo entonces, corrí Process Monitor mientras hacía el proceso con Autologon.exe, a continuación fui al Log y busqué otra vez por “Password”, el resultado para mi satisfacción esta vez fue algo más gratificante:

Autologon3

Hay una operación de consulta sobre la clave:
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon

*Nota: Recordemos que HKLM hace referencia a HKEY_LOCAL_MACHINE

Está buscando el valor de DefaultPassword pero con un resultado de NAME NOT FOUND.

La otra operación que realizaba Windows según Process Monitor y que no se muestra en la captura anterior era que borraba ese valor después de haber hecho una consulta, sin mucho criterio en este caso podría proponer que hace parte de la encripción que utiliza Autologon de Sysinternals con respecto a la contraseña de usuario.

A pesar de todo, esto me dio un gran pie para lo que necesitaba y es que si Windows buscaba este valor quería decir que lo podría utilizar tal como DefaultUserName y DefaultDomainName (Lo utiliza Autologon para identificar el dominio o el Grupo de Trabajo local), y poder tal vez indicar la contraseña de usuario.

Lo que hice fue ir nuevamente a la clave, hacer clic derecho sobre un espacio en blanco, seleccionar Nuevo > Valor de cadena.

El nombre que le asigné fue el que tenía DefaultPassword y en su contenido le puse la contraseña que correspondía al usuario que había indicado en DefaultUserName para que al hacer el arranque automático, también tomara su correspondiente contraseña:

image

Después de esto, reinicié el equipo y ¡Funcionó!. Windows pasó el inicio de sesión automáticamente sin solicitar credenciales ni nombre de usuario y justo con la cuenta que debía ser (Ult64 en mi caso).

Entonces, ¿Cuál es el proceso para el Autologon manual?

En todo el contenido anterior traté de especificar y mostrar cómo es el comportamiento en el Proceso de Autologon que reconoce Windows tanto con la herramienta de Sysinternals como forzándolo manualmente. A continuación, detallaré el proceso que cada persona debe seguir si quiere personalizarlo a sus cuentas de usuario:

1. Determinar qué nombre de usuario y contraseña es la que se quiere utilizar para que inicie de forma predeterminada y automáticamente en Windows 7.

2. Al iniciar sesión, clic en Inicio, digitar Notepad y presionar la tecla ENTER para abrir el Blog de Notas.

3. En el Blog de Notas copiamos lo que estará dentro de la división de la siguiente división de líneas:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
"AutoAdminLogon"="1"
"DefaultUserName"="<NombreUsuario>"
"DefaultPassword"="<ContraseñaUsuario>"


Donde <NombreUsuario> es como se llama la cuenta que desean automatizarle el proceso de inicio de sesión, por ejemplo, para este artículo se llama Utl64.

<ContraseñaUsuario> se refiere a la Contraseña que tiene asignada el <NombreUsuario>, por ejemplo, para este artículo es Passw0rd

En este orden de ideas, si el anterior texto lo acomodara a mi necesidad, quedaría así:

image

4. En el Blog de Notas, clic en el menú Archivo, seleccionar Guardar como… y ponerle un nombre con el que se pueda identificar el proceso que hará como “Autologon”, pero más importante, indicarle la extensión .REG para que se establezca como un fichero de Registro.

Para este artículo por ejemplo, se llamaría Autologon.reg

image

5. Doble clic sobre el fichero de Registro y nos aparecerá la ventana de Advertencia indicándonos que escribiremos en el Registro de Windows por lo que podría llegar a ocasionar problemas con el funcionamiento del sistema operativo, posteriormente nos indicará el mensaje de información donde debe decir que el Registro se importó satisfactoriamente:

image

image

*Nota: Es de vital importancia el que indique que se agregó correctamente, de lo contrario no habrá cambios en el Registro y no se verá reflejado el Autologon.

6. Reiniciar el equipo y verificar que en efecto, inicie con la cuenta indicada en el fichero de Registro creado e importado anteriormente.

*Nota: Antes de hacer cualquier cambio en el Registro, se recomienda exportar la clave original que se verá afectada haciendo clic derecho sobre ésta y seleccionar Exportar. Así, si pasa algun daño, se podrá reestablecer completamente.

Cabe aclarar que la herramienta Autologon de Sysinternals brinda mucho más ventajas que hacerlo manualmente ya que no hay un riesgo mayor de hacer algun daño en el Editor de Registro, la contraseña está encriptada y es muy fácil de utilizar.

Hacerlo manualmente a pesar de todo, como han visto entrega algo que considero mucho más importante y es el aprendizaje.

¡Comentarios bienvenidos!

Saludos,

Checho

3 comentarios en “Establecer inicio automático de cuenta de usuario (Autologon) en Windows 7”

  1. Hola! Muy completo el artículo! Pero yo para hacerlo lo hago desde el Control de Cuentas de Usuario, desde la ventana de Ejecutar (Run) escribo «control userpasswords2», y ahí puedo elegir la cuenta principal de inicio de sesión. Es lo mismo que hacés vos o entendí mal?
    Saludos!

  2. Hola Hornet,

    En realidad no es lo que hago yo, desde el userpasswords2 se pueden configurar varios parámetros avanzados, inclusive pidiendo o no contraseña para los usuarios y ten en cuenta que Windows empezará siempre directo (Parecido al Autologon) si no hay más cuentas o si estás en dominio por ejemplo con una cuenta que usas mucho.

    Pero el comportamiento a Autologon es diferente, por eso hay una aplicación adicional (La de Sysinternals) que por debajo hace los cambios mencionados del registro en el artículo.

    ¡Muchas gracias por tu comentario!

Deja un comentario

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