Existen varios productos de proveedores para cumplir con este propósito y, desafortunadamente, tenemos que usar más de uno de ellos.
No son infalibles; Microsoft SCCM puede pensar que no tenemos ninguna versión de Adobe Flash instalada más antigua que X.Y, pero luego (otro producto) encuentra una gran cantidad de ellas, mientras que también faltan versiones de Internet Explorer debajo de Y.Z.
(Creo que la brecha se produce, como todas las soluciones de Microsoft, donde los productos de Microsoft funcionan mejor con productos de Microsoft pero no con productos de terceros, y los productos de terceros funcionan mejor con productos de terceros, pero se pierden la importancia de interactuar con Microsoft También es una cadena de versión inconsistente que analiza las soluciones)
Todo se reduce a tener algún tipo de agente en cada estación de trabajo local que lee el registro respectivo e informa la información de la versión del software a un servidor central. Desde el servidor central, obtiene una visión general de qué porcentaje de su infraestructura está actualizada y qué es vulnerable.
En un flujo de trabajo separado, otro servidor (algo como WSUS, pero de nuevo, la división de Microsoft levanta su cabeza) luego obliga a los agentes de actualización en las estaciones de trabajo no compatibles a actualizarse dentro de cumplimiento durante la próxima ventana de actualización. Las herramientas de automatización como Puppet y Chef se pueden implementar para lograr algo como esta multiplataforma; es un problema simple con soluciones bien documentadas.
NO deje que los usuarios actualicen con diligencia. No lo harán, incluso bajo amenaza de ser despedidos.