03-oct: superguardado automático
This commit is contained in:
@@ -31,6 +31,30 @@ if (-not $Password) {
|
||||
[System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($BSTR)
|
||||
}
|
||||
|
||||
# Verificar la contraseña ANTES de escribir (evita guardar una credencial incorrecta,
|
||||
# que es lo que dejaba el arranque colgado en la pantalla de login)
|
||||
Write-Host "`nVerificando credenciales..." -ForegroundColor Cyan
|
||||
$credencialOk = $false
|
||||
$tmpVerify = Join-Path $env:TEMP "autologon_verify_$PID.txt"
|
||||
Remove-Item $tmpVerify -ErrorAction SilentlyContinue
|
||||
try {
|
||||
$sec = ConvertTo-SecureString $Password -AsPlainText -Force
|
||||
$cred = New-Object System.Management.Automation.PSCredential("$computername\$username", $sec)
|
||||
Start-Process cmd -ArgumentList "/c whoami > `"$tmpVerify`"" -Credential $cred -Wait -WindowStyle Hidden -ErrorAction Stop
|
||||
Start-Sleep -Milliseconds 500
|
||||
$credencialOk = (Test-Path $tmpVerify)
|
||||
} catch {
|
||||
$credencialOk = $false
|
||||
} finally {
|
||||
Remove-Item $tmpVerify -ErrorAction SilentlyContinue
|
||||
}
|
||||
if (-not $credencialOk) {
|
||||
Write-Host "[ERROR] La contraseña NO es correcta para $computername\$username." -ForegroundColor Red
|
||||
Write-Host " No se ha modificado el registro. Comprueba la contraseña e inténtalo de nuevo." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
Write-Host "[OK] Contraseña verificada." -ForegroundColor Green
|
||||
|
||||
# Mostrar lo que se va a configurar (SIN mostrar la contraseña)
|
||||
Write-Host "`nSe configurará autologon con:" -ForegroundColor Cyan
|
||||
Write-Host " AutoAdminLogon: 1" -ForegroundColor White
|
||||
|
||||
Reference in New Issue
Block a user