La instalación automática necesita una consulta de detección que reconozca su software una vez que esté instalado. Esta guía muestra cómo encontrar el nombre exacto que Windows o Linux utiliza para ello, para que la consulta funcione.
Funcionalidad
Descripción general
Cuando activa la instalación automática para un paquete personalizado (.exe, .ps1, .deb, .rpm, .sh o .tar.gz), Factorial IT pre-completa una osquery basada en el nombre del software que ingresó. Es una mejor suposición.
La regla es simple: cuando el software está instalado, la consulta debe devolver al menos una fila. Si no devuelve nada, el agente piensa que el software está ausente y reinstala el paquete en cada verificación.
Para solucionar eso, cambie el valor dentro de LIKE '%...%' para que coincida con el nombre que el sistema operativo reporta para el software instalado, no el nombre del instalador.
Cómo usar
- Abra el paquete personalizado y active Instalación automática.
- Mire la consulta pre-completada.
- Encuentre el nombre exacto instalado con el método para su tipo de paquete (a continuación).
- Sustituya el valor dentro de
LIKE '%...%'con ese nombre. - Diríjase primero a un grupo pequeño de dispositivos y verifique que la instalación funcione como se espera.
- Despliegue al resto de la flota.
Windows (.exe, .ps1)
Consulta pre-completada:
SELECT 1 FROM programs WHERE name LIKE '%<nombre del software>%'Dónde encontrar el nombre exacto:
- La lista de software instalado en Detalles del host de la flota
- Aplicaciones y características en la Configuración de Windows
- PowerShell:
Get-Package | Where-Object Name -Like '*<nombre>*'
Ejemplo: el instalador es FalconSensor_Windows.exe, pero Windows lista el software como CrowdStrike Windows Sensor. La consulta se convierte en:
SELECT 1 FROM programs WHERE name LIKE '%CrowdStrike Windows Sensor%'
Linux .deb
Para paquetes de Debian y Ubuntu.
Consulta pre-completada:
SELECT 1 FROM deb_packages WHERE name LIKE '%<nombre del software>%'Dónde encontrar el nombre exacto:
- Ejecute
dpkg -l | grep <nombre>. El nombre del paquete está en la primera columna. - Use el nombre del paquete (por ejemplo
google-chrome-stable), no el nombre de visualización amigable.
Linux .rpm
Consulta pre-completada:
SELECT 1 FROM rpm_packages WHERE name LIKE '%<nombre del software>%'Dónde encontrar el nombre exacto:
- Ejecute
rpm -qa | grep <nombre>. - Mantenga solo el nombre del paquete, sin sufijo de versión o arquitectura.
Scripts y archivos (.sh, .tar.gz)
Para scripts de instalación y archivos de Linux, lo que termina en el disco depende del script. Lea el script, o su README, para averiguarlo:
- Si registra un paquete en
deb_packagesorpm_packages. Si lo hace, consulte esa tabla. - Si no, qué binario o directorio crea. Consulte eso con
fileoosquery_info.
Consejos y Mejores Prácticas
-
Use el nombre instalado, nunca el nombre del archivo del instalador.
Setup.exeno es lo que Windows registra;MyAppsí lo es. -
Mantenga los comodines.
'%nombre%'sigue coincidiendo cuando se agrega un número de versión al nombre. -
Haga que el patrón sea lo suficientemente específico. Si coincide con software no relacionado, agrega más caracteres o cambia a
=para una coincidencia exacta. - Pruebe primero en un pequeño grupo de dispositivos. Confirme que la instalación y detección funcionen antes de ampliar a toda la flota.
Solución de Problemas y FAQ
Solución de Problemas
- El paquete se reinstala en cada verificación. La consulta no devuelve filas, por lo que el software nunca se detecta. Probablemente estás usando el nombre del archivo del instalador. Sustitúyelo por el nombre que el sistema operativo reporta.
- La detección falla después de una actualización. Es posible que falten los comodines. Una coincidencia exacta se rompe cuando aparece un sufijo de versión.
-
Los dispositivos muestran el software como instalado cuando no lo está. El patrón coincide con otro software. Ajusta o utiliza
=.
FAQ
-
¿Por qué la consulta tiene que devolver una fila?
Así es como la instalación automática sabe que el software está presente. Ninguna fila significa "no instalado", así que instala de nuevo.
-
¿Puedo mantener la consulta Factorial IT pre-completada?
Solo si ya coincide con el nombre que el sistema operativo reporta. Es una mejor suposición basada en el nombre que escribiste, así que verifícalo.
-
¿En Linux, debo usar el nombre de visualización?
No. Usa el nombre del paquete, comogoogle-chrome-stable, sin versión ni arquitectura.
-
¿Qué pasa con
.shy.tar.gzinstaladores?
Verifica qué instala el script. Consultadeb_packagesorpm_packagessi registra un paquete; de lo contrario, busca un archivo o carpeta que crea.