Files
INFRAESTRUCTURA/docs/FIX_PROBLEMA_AUTOLOGON_USUARIO_NUEVO.md

154 lines
5.9 KiB
Markdown

# FIX: Problema de autologon creando usuario nuevo
## Problema detectado (20-sep-2026)
Al configurar el autologon en Windows, se creó un **usuario nuevo que pide contraseña** en lugar de usar el usuario actual.
## Causa raíz
El script `enable_autologon.ps1` configura correctamente el registro de Windows, PERO Windows crea un usuario nuevo si:
1. **El nombre de usuario no coincide exactamente** con el formato del usuario actual
2. **El dominio está mal configurado** (LOCAL vs nombre del PC vs WORKGROUP)
3. **La contraseña no es correcta** (Windows crea usuario nuevo por seguridad)
## Verificación del problema
Ejecutar en PowerShell como **Administrador**:
```powershell
# Ver configuración actual de autologon
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" | Select-Object AutoAdminLogon, DefaultUserName, DefaultDomainName
# Ver usuario actual real
Write-Host "Usuario actual: $env:USERNAME"
Write-Host "Dominio actual: $env:USERDOMAIN"
Write-Host "Nombre completo: $env:USERDOMAIN\$env:USERNAME"
```
## Solución 1: DESHABILITAR autologon (RECOMENDADO)
**IMPORTANTE:** En un PC de trabajo con datos sensibles, **NO se debe usar autologon** por seguridad.
```powershell
# Ejecutar como Administrador
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name "AutoAdminLogon" -Value "0"
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name "DefaultPassword" -ErrorAction SilentlyContinue
Write-Host "[OK] Autologon deshabilitado" -ForegroundColor Green
```
Tras esto:
1. **Eliminar el usuario nuevo creado** en Configuración → Cuentas → Familia y otros usuarios
2. Al arrancar el PC pedirá la contraseña normalmente
3. El control remoto por Telegram seguirá funcionando (solo enciende/apaga, no hace login)
## Solución 2: Corregir autologon (SOLO si realmente lo necesitas)
Si REALMENTE necesitas autologon (ej: PC dedicado sin datos sensibles):
```powershell
# Ejecutar como Administrador
$password = Read-Host "Introduce tu contraseña/PIN ACTUAL" -AsSecureString
$passwordPlain = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($password))
$winlogonPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Set-ItemProperty -Path $winlogonPath -Name "AutoAdminLogon" -Value "1"
Set-ItemProperty -Path $winlogonPath -Name "DefaultUserName" -Value $env:USERNAME
Set-ItemProperty -Path $winlogonPath -Name "DefaultPassword" -Value $passwordPlain
Set-ItemProperty -Path $winlogonPath -Name "DefaultDomainName" -Value $env:COMPUTERNAME # CLAVE: usar el nombre del PC, NO el dominio
Write-Host "[OK] Autologon configurado para $env:COMPUTERNAME\$env:USERNAME" -ForegroundColor Green
```
## Solución 3: Login RDP automático remoto (FUTURO)
Para el caso de uso real (controlar el PC desde Telegram), lo que necesitas es:
1. **Encender el PC** → Wake-on-LAN (YA FUNCIONA)
2. **Esperar que arranque Windows** → Ping (YA FUNCIONA)
3. **Hacer login automático al RDP** → Esto requiere:
- Crear conexión RDP guardada con credenciales (`.rdp`)
- Ejecutar `mstsc /v:IP` desde otro equipo
- O usar `cmdkey` + `mstsc` para login sin interacción
Este caso de uso **NO requiere autologon de Windows**, solo conexión RDP automática.
## Recomendación final ACTUALIZADA (20-sep-2026)
**El usuario NECESITA autologon** para el encendido remoto automático desde Telegram (WoL → arranque → login → escritorio listo → watchers corriendo).
**La solución correcta es CORREGIR el autologon, NO deshabilitarlo.**
### Flujo de corrección (ejecutar en orden)
#### 1. Verificar configuración actual
```powershell
# Como Administrador
cd C:\Users\juanm\Documents\Github\INFRAESTRUCTURA\scripts
.\check_autologon_status.ps1
```
Esto muestra:
- Usuario configurado vs usuario real
- Dominio configurado vs nombre del PC
- Si hay contraseña guardada
- Si el autologon está activo
#### 2. Corregir autologon
```powershell
# Como Administrador
.\fix_autologon.ps1
```
El script:
- Detecta tu usuario actual REAL (`$env:USERNAME`)
- Usa el **nombre del PC** como dominio (`$env:COMPUTERNAME`) ← **CLAVE DEL FIX**
- Pide tu contraseña de forma segura (no se muestra)
- Configura autologon correctamente
- Pide confirmación antes de escribir en el registro
#### 3. Eliminar usuario fantasma (si se creó uno nuevo)
```
Configuración → Cuentas → Familia y otros usuarios → [usuario nuevo] → Quitar
```
#### 4. Probar reinicio local
1. Reinicia el PC manualmente
2. Verifica que entra directo sin pedir contraseña
3. Verifica que es TU usuario (no uno nuevo)
#### 5. Probar encendido remoto completo
1. Apagar PC desde Telegram: `/apagar` → confirmar
2. Esperar 30s a que se apague (watchdog verifica)
3. Encender desde Telegram: `/encender`
4. Esperar ~2 minutos
5. Bot verifica automáticamente si arrancó
6. Conectar por RDP desde portátil → debe entrar directo
### Scripts disponibles
| Script | Función |
|--------|---------|
| `check_autologon_status.ps1` | Ver configuración actual (no modifica nada) |
| `fix_autologon.ps1` | Corregir autologon para el usuario actual |
| `disable_autologon.ps1` | Deshabilitar autologon (reversa rápida) |
### Seguridad
**Riesgos de autologon:**
- Contraseña almacenada en texto plano en el registro
- Cualquiera con acceso físico entra al escritorio
**Mitigaciones recomendadas:**
- Usar **PIN corto** en lugar de contraseña completa
- Configurar **bloqueo automático tras 5-10 minutos** de inactividad
- Activar **BitLocker** en el disco (si no lo está)
- NO dejar el PC físicamente accesible a terceros
**Para el caso de uso actual (sobremesa en despacho privado):**
- ✅ Autologon ACEPTABLE (despacho privado, necesario para inicio remoto)
- ✅ Bloqueo automático tras inactividad
- ✅ BitLocker si hay datos sensibles
- ✅ RDP con credenciales guardadas desde portátil