Automatic Install ha bisogno di una query di rilevamento che riconosca il tuo software una volta installato. Questa guida mostra come trovare il nome esatto che Windows o Linux usano per esso, in modo che la query funzioni.
Funzionalità
Panoramica
Quando attivi l'Automatic Install per un pacchetto personalizzato (.exe, .ps1, .deb, .rpm, .sh o .tar.gz), Factorial IT pre-compila un osquery basato sul nome del software che hai inserito. È una stima migliore.
La regola è semplice: quando il software è installato, la query deve restituire almeno una riga. Se non restituisce nulla, l'agente pensa che il software sia assente e reinstalla il pacchetto ad ogni controllo.
Per risolvere questo problema, cambia il valore dentro LIKE '%...%' affinché corrisponda al nome che il sistema operativo riporta per il software installato, non al nome dell'installer.
Come usare
- Apri il pacchetto personalizzato e attiva Automatic Install.
- Guarda la query pre-compilata.
- Trova il nome esatto installato con il metodo per il tuo tipo di pacchetto (qui sotto).
- Sostituisci il valore dentro
LIKE '%...%'con quel nome. - Targetizza prima un piccolo gruppo di dispositivi e controlla che l'installazione si comporti come previsto.
- Distribuiscilo al resto della flotta.
Windows (.exe, .ps1)
Query pre-compilata:
SELECT 1 FROM programs WHERE name LIKE '%<software name>%'Dove trovare il nome esatto:
- La lista del software installato in Dettagli host flotta
- App e funzionalità nelle Impostazioni di Windows
- PowerShell:
Get-Package | Where-Object Name -Like '*<name>*'
Esempio: l'installer è FalconSensor_Windows.exe, ma Windows elenca il software come CrowdStrike Windows Sensor. La query diventa:
SELECT 1 FROM programs WHERE name LIKE '%CrowdStrike Windows Sensor%'
Linux .deb
Per pacchetti Debian e Ubuntu.
Query pre-compilata:
SELECT 1 FROM deb_packages WHERE name LIKE '%<software name>%'Dove trovare il nome esatto:
- Esegui
dpkg -l | grep <name>. Il nome del pacchetto è nella prima colonna. - Usa il nome del pacchetto (per esempio
google-chrome-stable), non il nome di visualizzazione amichevole.
Linux .rpm
Query pre-compilata:
SELECT 1 FROM rpm_packages WHERE name LIKE '%<software name>%'Dove trovare il nome esatto:
- Esegui
rpm -qa | grep <name>. - Conserva solo il nome del pacchetto, senza suffisso di versione o architettura.
Script e archivi (.sh, .tar.gz)
Per script di installazione e archivi Linux, ciò che finisce su disco dipende dallo script. Leggi lo script o il suo README per scoprire:
- Se registra un pacchetto in
deb_packagesorpm_packages. Se lo fa, interroga quella tabella. - Se no, quale binario o directory crea. Interroga per quello con
fileoosquery_info.
Consigli e Migliori Pratiche
-
Usa il nome installato, mai il nome del file dell'installer.
Setup.exenon è ciò che Windows registra;MyApplo è. -
Conserva i caratteri jolly.
'%name%'corrisponde ancora quando un numero di versione è aggiunto al nome. -
Rendi il modello sufficientemente specifico. Se corrisponde a software non correlato, aggiungi più caratteri o passa a
=per una corrispondenza esatta. - Testa prima su un piccolo gruppo di dispositivi. Conferma che l'installazione e il rilevamento funzionino prima di estenderlo alla flotta.
Risoluzione dei Problemi e FAQ
Risoluzione dei Problemi
- Il pacchetto viene reinstallato ad ogni controllo. La query non restituisce righe, quindi il software non viene mai rilevato. Probabilmente stai usando il nome del file dell'installer. Sostituiscilo con il nome che il sistema operativo riporta.
- Il rilevamento fallisce dopo un aggiornamento. I caratteri jolly potrebbero mancare. Una corrispondenza esatta si rompe quando appare un suffisso di versione.
-
I dispositivi mostrano il software come installato quando non lo è. Il modello corrisponde a un altro software. Rendi più stretto il modello o usa
=.
FAQ
-
Perché la query deve restituire una riga?
È così che l'Automatic Install sa che il software è presente. Nessuna riga significa "non installato", quindi reinstalla.
-
Posso mantenere la query Factorial IT pre-compilata?
Solo se corrisponde già al nome che il sistema operativo riporta. È una stima migliore basata sul nome che hai digitato, quindi controlla.
-
Su Linux, dovrei usare il nome di visualizzazione?
No. Usa il nome del pacchetto, comegoogle-chrome-stable, senza versione o architettura.
-
E per
.she.tar.gzinstaller?
Controlla cosa installa lo script. Interrogadeb_packagesorpm_packagesse registra un pacchetto; altrimenti cerca un file o una cartella che crea.