Files
INFRAESTRUCTURA/scripts/check_autologon_status.ps1

70 lines
3.7 KiB
PowerShell

# Script para verificar la configuración actual de autologon
# NO modifica nada, solo muestra información
$winlogonPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Write-Host "`n=== CONFIGURACION ACTUAL DE AUTOLOGON ===" -ForegroundColor Cyan
# Leer configuración del registro
try {
$autologon = Get-ItemProperty -Path $winlogonPath -Name "AutoAdminLogon" -ErrorAction SilentlyContinue
$username = Get-ItemProperty -Path $winlogonPath -Name "DefaultUserName" -ErrorAction SilentlyContinue
$domain = Get-ItemProperty -Path $winlogonPath -Name "DefaultDomainName" -ErrorAction SilentlyContinue
$hasPassword = Get-ItemProperty -Path $winlogonPath -Name "DefaultPassword" -ErrorAction SilentlyContinue
Write-Host "`nREGISTRO DE WINDOWS:"
Write-Host " AutoAdminLogon: $($autologon.AutoAdminLogon)" -ForegroundColor $(if ($autologon.AutoAdminLogon -eq "1") { "Green" } else { "Yellow" })
Write-Host " DefaultUserName: $($username.DefaultUserName)" -ForegroundColor $(if ($username.DefaultUserName) { "White" } else { "Red" })
Write-Host " DefaultDomainName: $($domain.DefaultDomainName)" -ForegroundColor $(if ($domain.DefaultDomainName) { "White" } else { "Red" })
Write-Host " DefaultPassword: $(if ($hasPassword.DefaultPassword) { '[CONFIGURADA]' } else { '[NO CONFIGURADA]' })" -ForegroundColor $(if ($hasPassword.DefaultPassword) { "White" } else { "Red" })
Write-Host "`nUSUARIO ACTUAL REAL:"
Write-Host " Usuario: $env:USERNAME" -ForegroundColor Cyan
Write-Host " Dominio/Workgroup: $env:USERDOMAIN" -ForegroundColor Cyan
Write-Host " Nombre del PC: $env:COMPUTERNAME" -ForegroundColor Cyan
Write-Host "`nCOMPARACION:"
# Verificar si coinciden
$usuarioConfigurado = $username.DefaultUserName
$dominioConfigurado = $domain.DefaultDomainName
if ($usuarioConfigurado -eq $env:USERNAME) {
Write-Host " ✓ Usuario coincide" -ForegroundColor Green
} else {
Write-Host " ✗ Usuario NO coincide" -ForegroundColor Red
Write-Host " Configurado: $usuarioConfigurado" -ForegroundColor Gray
Write-Host " Real: $env:USERNAME" -ForegroundColor Gray
}
if ($dominioConfigurado -eq $env:COMPUTERNAME) {
Write-Host " ✓ Dominio correcto (nombre del PC)" -ForegroundColor Green
} elseif ($dominioConfigurado -eq $env:USERDOMAIN) {
Write-Host " ~ Dominio usa USERDOMAIN" -ForegroundColor Yellow
Write-Host " Actual: $dominioConfigurado" -ForegroundColor Gray
Write-Host " Recomendado: $env:COMPUTERNAME" -ForegroundColor Gray
} else {
Write-Host " ✗ Dominio NO coincide" -ForegroundColor Red
Write-Host " Configurado: $dominioConfigurado" -ForegroundColor Gray
Write-Host " Nombre PC: $env:COMPUTERNAME" -ForegroundColor Gray
}
if ($autologon.AutoAdminLogon -eq "1" -and $username.DefaultUserName -and $hasPassword.DefaultPassword) {
Write-Host "`n[RESULTADO] Autologon ACTIVO" -ForegroundColor Green
if ($username.DefaultUserName -ne $env:USERNAME) {
Write-Host "[PROBLEMA] Usuario configurado NO es el actual → puede crear usuario nuevo" -ForegroundColor Red
Write-Host "[SOLUCION] Ejecutar: .\fix_autologon.ps1" -ForegroundColor Yellow
}
} elseif ($autologon.AutoAdminLogon -eq "1") {
Write-Host "`n[RESULTADO] Autologon ACTIVO pero INCOMPLETO (falta usuario o contraseña)" -ForegroundColor Yellow
} else {
Write-Host "`n[RESULTADO] Autologon DESACTIVADO" -ForegroundColor Gray
}
} catch {
Write-Host "[ERROR] No se pudo leer la configuración: $_" -ForegroundColor Red
}
Write-Host "`n========================================`n" -ForegroundColor Cyan