Nos ha llegado una alerta de seguridad de Acrobat, que requiere parchear urgentemente las versiones que estén expuestas.
El número de PCs de mi empresa es bastante elevado y no disponemos de un programa para distribuir software, con lo que me ha tocado preparar una GPO.
Para hacerla he completado lo siguiente:
- Indica SI se actualizó o NO
- Detecta versión antes y después
- Te dice EXACTAMENTE qué ha fallado
- Saca todo por pantalla en ejecución manual, no por GPO.
- Log completo
- Instalación silenciosa sin pedir credenciales )
- Compatible con un EXE
Pasos
La GPO arranca en el script de inicio del PC. Tarda unos minutos en hacer la actualización/instalación.
Si lo ejecutas a mano puedes seguir el proceso en pantalla:
Si dudas si esta funcionando cuando se aplica la GPO, abre el log que deja en cada máquina en el fichero C:\Windows\Temp\acrobat_fix.
Aquí dejarémos la versión de Acrobat a instalar: \\NAS01\Adobe\
|
$log = "C:\Windows\Temp\acrobat_fix.
$installer = "\\NAS01\Adobe\
function Write-Log {
param($text)
$line = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $text"
Write-Host $line
Add-Content -Path $log -Value $line
}
Write-Log "==== INICIO SCRIPT ===="
# Obtener versiones existentes
$apps = Get-ItemProperty HKLM:\Software\Microsoft\
HKLM:\Software\WOW6432Node\
Where-Object { $_.DisplayName -match "Adobe.*(Acrobat|Reader)" }
if ($apps) {
Write-Log "Adobe detectado → se elimina SIEMPRE"
foreach ($app in $apps) {
Write-Log "Desinstalando $($app.DisplayName)"
if ($app.PSChildName) {
Start-Process "msiexec.exe" -ArgumentList "/x $($app.PSChildName) /qn /norestart" -Wait
}
}
}
else {
Write-Log "No había Adobe instalado"
}
# Espera para asegurar limpieza
Start-Sleep 5
# Instalación limpia
if (Test-Path $installer) {
Write-Log "Instalando nueva versión (silent)..."
$proc = Start-Process $installer -ArgumentList "/sAll /rs /rps /msi /qn /norestart" -Wait -PassThru
Write-Log "Código salida instalación: $($proc.ExitCode)"
if ($proc.ExitCode -eq 0) {
Write-Log " INSTALACIÓN COMPLETA OK"
}
else {
Write-Log " ERROR EN INSTALACIÓN"
}
} else {
Write-Log " Instalador no encontrado"
}
Write-Log "==== FIN SCRIPT ===="
|




No hay comentarios:
Publicar un comentario