El Blog de Enrique Cortés

miércoles, 11 de enero de 2017

Mi equipo inicia sesión automáticamente en un usuario ¿Cómo puedo evitarlo?


Nivel técnico: Intermedio                        
Aplica: Windows 8/8.1/10

CÓMO IMPEDIR QUE WINDOWS 10 INICIE SESIÓN AUTOMÁTICAMENTE EN EL ÚLTIMO USUARIO QUE INICIÓ SESIÓN
Cuando al arrancar el equipo Windows inicia sesión de forma automática en una cuenta de usuario pueder ser por varios motivos:
  • porque se ha establecido el inicio de sesión automático para una cuenta de usuario determinada, utilizando algún medio para ello, por ejemplo una política de Directiva de grupo, o utilizando la herramienta Configuración avanzada de usuarios (netplwiz.exe) o mediante un ajuste directo en el registro de windows.
  • porque una o más cuentas de usuario están sin contraseña
¿Cómo podemos evitar este problema, tanto en el primer caso como en el segundo?
Si éste es tu caso, en este artículo te explico cómo debes resolverlo.


En el primer caso, para conseguir que Windows no inicie directamente ninguna cuenta sinó que muestre la pantalla de inicio de sesión con los diferentes usuarios del equipo, ejecuta la herramienta netplwiz.exe y marca la casilla Los usuarios deben escribir su nombre y contraseña para usar el equipo (Imagen 1):

Imagen
                                   Imagen 1
En el segundo caso, se trata del comportamiento normal en Windows 8/8.1/10. Es así por diseño. Cuando existe un usuario con contraseña en blanco en el equipo (es decir, sin contraseña), aunque existan otros usuarios con contraseña, si el último que inició sesión fue el que no tiene contraseña, al arrancar o reiniciar el equipo, Windows iniciará automáticamente esa cuenta de usuario sin contraseña.
En este punto, quiero destacar la importancia de mantener seguras nuestras cuentas de usuario mediante una contraseña segura, y que tener cuentas sin contraseña no es nada recomendable.
 
Para evitar este comportamiento por defecto hay que hacer unos ajustes en el registro de Windows para que a cada arranque o reinicio el equipo presente siempre la pantalla de inicio de sesión para poder elegir con qué usuario quieres iniciar la sesión. Esto puede conseguirse a través de diferentes métodos: mediante Directiva de grupo, o creando una tarea programada con un script de cierre de sesión, o modificando directamente el registro.
Este ajuste se lleva a cabo en la siguiente clave del registro:
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch
modificando el valor REG_DWORD Enabled a 1 (uno)

Imagen
                                                            Imagen 2
 
Cuando el valor Enabled se establece en 1 (uno) el sistema mostrará la pantalla de inicio de sesión con los nombres de usuario (Imagen 2). Sin embargo, el proceso logonui.exe del sistema vuelve a establecer el valor a 0 (cero), que es el valor por defecto, cuando se cierra la sesión o se reinicia. Lo cual quiere decir que este cambio manual del valor Enabled no funcionará mientras no se mantega a 1. Es necesario evitar que logonui.exe cambie al valor por defecto. Para ello, vamos a ver diferentes métodos.
 
Si éste es tu caso, y quieres deshabilitar el inicio automático de sesión cuando existen cuentas sin contraseña, puedes utilizar alguno de estos métodos:

A) DESHABILITAR EL INICIO AUTOMÁTICO DE SESIÓN MEDIANTE DIRECTIVA DE GRUPO
 
Este método sólo funcionará en equipos que dispongan de la Directiva de grupo (ediciones Profesional, Enterprise o Education) y donde el usuario que inicia directamente la sesión sea administrador.
1. Antes de empezar, crea un punto de restauración como medida de seguridad (Panel de control > Sistema> Protección del sistema > Crear...)
2. Pulsa las teclas Windows+R
3. En la casilla Abrir escribe netplwiz y pulsa Intro. Se abrirá la venta Cuentas de usuario
4. Asegúrate que esté marcada la casilla Los usuarios deben escribir su nombre y contraseña para usar el equipo. Si no está marcada, márcala y aplica los cambios (Imagen 1)
5. Pulsa las teclas Windows+R
6. En la casilla Abrir escribe regedit y pulsa Intro. Se abrirá el editor del registro.
7. Localiza la siguiente clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch
 
En el panel derecho modifica el valor REG_DWORD Enabled de 0 (ceo) a 1 (uno) (Imagen 2)
8. Cierra el editor del registro
9. Pulsa las teclas Windows+R
10. En la casilla Abrir escribe gpedit.msc y pulsa Intro. Se abrirá el editor de directivas de grupo local
11. Navega a la ruta siguiente: Configuración de usuario > Configuración de Windows > Scripts (inicio de sesión o cierre de sesión)
12. En el panel derecho haz doble clic sobre Cerrar sesión
13. En la ventana de Propiedades que se abre haz clic en Agregar...
14. En Nombre del script: escribe o busca la siguiente ruta: C:\Windows\System32\reg.exe (sustituye C si el sistema está en otra unidad)
15. En Parámetros de script: escribe el siguiente comando (o copia y pega):
add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch /v Enabled /t REG_DWORD /d 1 /f
 
16. Haz clic en Aplicar y Aceptar para implementar el ajuste del script en la Directiva de grupo (Imagen 3): 


Imagen
                                                              Imagen 3 
 
17. Cierra el editor de directivas y comprueba si se ha deshabilitado el inicio automático de sesión.
 
B) DESHABILITAR EL INICIO AUTOMÁTICO DE SESIÓN MEDIANTE EL PROGRAMADOR DE TAREAS
Este método funcionará en cualquier edición de Windows e indistintamente si el último usuario que ha iniciado sesión es administrador o usuario estándar. 
1. Antes de empezar, crea un punto de restauración como medida de seguridad (Panel de control > Sistema> Protección del sistema > Crear...)
2. Pulsa las teclas Windows+R
3. En la casilla Abrir escribe regedit y pulsa Intro. Se abrirá el editor del registro.
4. Localiza la siguiente clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch 
 
En el panel derecho modifica el valor REG_DWORD Enabled de 0 (ceo) a 1 (uno) (Imagen 2)
5. Cierra el editor del registro
6. Crea una carpeta nueva en el directorio raíz (normalmente, C:) con el nombre MostrarUsuarios
7. Abre el bloc de notas (notepad.exe) y escribe el siguiente comando en una sola línea (o copia y pega) (Imagen 4):  
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch /v Enabled /t REG_DWORD /d 1 /f
   Imagen
                                                          Imagen 4 
 
8. Guarda el archivo como MostrarUsuarios.bat (con extensión BAT) en la carpeta MostrarUsuarios que creaste anteriormente
9. Inicia el Programador de tareas (control schedtasks)
10. Haz clic en Biblioteca del programador de tareas (columna izquierda) y en Crear tarea... (columna derecha)
11. En la ficha General:
      Escribe un nombre para la tarea: Mostrar Usuarios. Puedes escribir también una descripción de la tarea si lo deseas
      En el apartado Opciones de seguridad haz clic en Cambiar usuario o grupo... y escribe SYSTEM en la casilla que se abre. Pulsa Aceptar.
      Marca la casilla Ejecutar con los privilegios más altos
Y establece Configurar para: Windows 10. No pulses Aceptar todavía
12. En la ficha Desencadenadores:
      Haz clic en Nuevo...
      En Iniciar la tarea: elige Al iniciar la sesión (Cualquier usuario). Y marca sólo la última casilla: Habilitado. Haz clic en Aceptar (Imagen 5):
 
Imagen
                                                           Imagen 5 
 
13. En la ficha Acciones:
      Haz clic en Nueva...
      En Nueva acción establece Iniciar un programa
      En la casilla Programa o script haz clic en Examinar y localiza la carpeta MostrarUsuarios que creaste anteriormente. Selecciona el archivo MostrarUsuarios.bat. Haz clic en Aceptar (Imagen 6):
 
Imagen
                                                                 Imagen 6 
 
14. En la ficha Condiciones: desmarca todas las casillas.
15. En laficha Configuración: deja marca sólo la primera casilla: Permitir que la tarea se ejecute a petición
16. Pulsa ahora Aceptar para guardar toda la configuración de la tarea y te aparecerá como tarea creada en la Biblioteca del Programador de tareas.
17. Cierra el Programador de tareas y reinicia el sistema para comprobar que se ha deshabilitado el inicio automático de sesión.  

C) DESHABILITAR EL INICIO AUTOMÁTICO DE SESIÓN A TRAVÉS DEL REGISTRO
 
Este método es algo más complicado puesto que además de modificar la citada clave del registro es necesario modificar también los permisos. 
1. Antes de empezar, crea un punto de restauración como medida de seguridad (Panel de control > Sistema> Protección del sistema > Crear...)
2. Pulsa las teclas Windows+R
3. En la casilla Abrir escribe regedit y pulsa Intro. Se abrirá el editor del registro.
4. Localiza la siguiente clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\UserSwitch 
 
En el panel derecho modifica el valor REG_DWORD Enabled de 0 (ceo) a 1 (uno) (Imagen 2)
5. Haz clic derecho sobre la carpeta UserSwitch y elige Permisos
6. En la ventana Permisos de UserSwitch, haz clic en Opciones avanzadas
7. En la ventana que se abre (Configuración de seguridad avanzada para UserSwitch) haz clic en Deshabilitar herencia, e inmediatamente haz clic en Convertir los permisos heredados en permisos explícitos en este objeto (Imagen 7):  
  Imagen
                                                          Imagen 7  
 
8. En la parte superior, junto a Propietario, haz clic en Cambiar, y en la nueva ventana que se abre escribe Administradores (en plural), y pulsa Aceptar.
9. Marca la casilla Reemplazar propietario en subcontenedores y objetos.
10. A continuación, en el cuadro Entradas de permiso, selecciona Administradores y haz clic en Editar, se abrirá una nueva ventana: asegúrate que la casilla Tipo esté en Permitir, y que esté marcada la casilla Control total. Pulsa Aceptar.
11. De nuevo, en el cuadro Entradas de permiso, selecciona SYSTEM y haz clic en Editar; en la nueva ventana ajusta la casilla Tipo en Denegar. Haz clic en Mostrar permisos avanzados y deja marcada únicamente la casilla Establecer valor. Marca también la casilla Aplicar estos permisos sólo a objetos y/o contenedores dentro de este contenedor. Pulsa Aceptar para cerrar esta ventana.
12. De nuevo en el cuadro de Configuración de seguridad avanzada para UserSwitch, haz clic en Aplicar y Aceptar para cerrarlo (es posible que te aparezca una ventana de advertencia al haber establecido entradas de denegación de permisos: haz clic en ).
13. De nuevo en la ventana inicial de permisos comprueba el ajuste que acabas de hacer, para asegurarte que está correcto: haz clic en Opciones avanzadas > Acceso efectivo > Seleccionar un usuario > escribe SYSTEM y pulsa Aceptar > Ver acceso efectivo. Observa que sólo aparecen dos cruces rojas: en Control total y en Establecer valor, el resto están todas en verde (Imagen 8): 
  Imagen
                                                           Imagen 8   
 
14. Si todo es correcto, haz clic en Aceptar para cerrar el cuadro, y de nuevo en Aceptar para cerra la ventana de Permisos.
15. Cierra el editor del registro y reinicia el sistema. Debería aparecer la pantalla de inicio de sesión normal mostrando los usuarios del equipo, con independencia de quién inició sesión por última vez.
 
D) DESHABILITAR EL INICIO AUTOMÁTICO ACTIVANDO EL INICIO ANÓNIMO DE SESIÓN 
 
Otra de las opciones posibles para que se muestre siempre la pantalla de inicio de sesión cuando existen cuentas de usuario sin contraseña en el equipo es habilitar el inicio anónimo de sesión. Este tipo de inicio requiere escribir tanto el nombre de usuario como la contraseña (si tiene). Este ajuste puede llevarse a acabo de dos formas: a través de la Directiva de grupo, o directamente a través del registro. Sigue este sencillo proceso:   
1. Ejecuta la Directiva de grupo (gpedit.msc) y accede a la siguiente ruta:
Configuración del equipo > Configuración de Windows > Configuración de seguridad > Directivas locales > Opciones de seguridad
2. En el panel derecho, localiza la siguiente opción de seguridad: Inicio de sesión interactivo: no mostrar el último nombre de usuario.
3. Haz doble clic sobre ella y marca la casilla Habilitada. Guarda los cambios y reinicia el sistema.
Este ajuste quedará reflejado en el registro de windows en el valor REG_DWORD DontDisplayLastUserName con contenido 1 (uno), bajo la siguiente clave: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Esta es la imagen que nos aparecerá en la pantalla de inicio de sesión (Imagen 9): 
  Imagen
                                                      Imagen 9 
 
 
Nota: Se pueden producir problemas graves si se modifica el Registro incorrectamente utilizando el Editor del Registro o cualquier otro método. Estos problemas pueden requerir que se reinstale de nuevo el sistema operativo. Modifica el Registro bajo tu propia responsabilidad.
Este wiki se publica TAL CUAL, sin garantía de ningún tipo, ya sea explícita o implícita, y no otorga ningún derecho. Realiza los cambios bajo tu propia responsabilidad.





 

No hay comentarios: