Librairie d’OSQueries pour Queries & Policies

Explore a comprehensive library of OS queries for managing user sessions, resource consumption, current IP addresses, and device compliance with Intune, accompanied by SQL examples for various operating systems.

2 minutes de lecture
  1. Requêtes
    1. Obtenir un aperçu des utilisateurs Entra connectés aux hôtes
    2. Analyser la consommation de RAM/CPU des processus en cours d'exécution
    3. Obtenir l'adresse IP actuelle des hôtes
  2. Policies
    1. Vérifier si l'appareil est toujours inscrit dans Intune
    2. Vérifier la présence d'applications
      1. Mac
      2. Windows
    3. Détecter si une application est en cours d'exécution

Requêtes

Obtenir un aperçu des utilisateurs Entra connectés aux hôtes

Compatibilité : Windows

SELECT
	upn,
	user,
	logon_domain,
	dns_domain_name,
	authentication_package
FROM
	logon_sessions
WHERE
	upn LIKE "< your email domain here >"
GROUP BY
	upn

Analyser la consommation de RAM/CPU des processus en cours d'exécution

Compatibilité : Mac, Windows, Linux

Dans cet exemple, nous examinons les processus dont le nom contient RTProtection (abréviation de "protection en temps réel", comme les logiciels antivirus/EDR). Nous récupérons leur pid (identifiant de processus), name, system_time (que nous divisons par 86400 pour convertir en jours), start_time (que nous convertissons au format jj/mm/aaaa) et la RAM consommée (total_size que nous divisons par 1048576 pour l'avoir en mégaoctets).

SELECT
	pid,
	name,
	ROUND((system_time / 86400), 2) AS system_time_days,
	strftime('%d/%m/%Y', datetime(start_time, 'unixepoch')) AS start_time_date,
	ROUND((total_size / 1048576), 2) AS total_size_mb
FROM
	processes
WHERE
	name LIKE '%RTProtection%';

Obtenir l'adresse IP actuelle des hôtes

Compatibilité : Mac, Windows, Linux

SELECT
	JSON_EXTRACT(result, '$.ip') AS ip,
	JSON_EXTRACT(result, '$.city') AS city,
	JSON_EXTRACT(result, '$.region') AS region,
	JSON_EXTRACT(result, '$.country') AS country
FROM
	curl
WHERE
	url = 'http://ipapi.co/json';

Policies

Vérifier si l'appareil est toujours inscrit dans Intune

Compatibilité : Windows

Cette politique échouera si l'appareil est toujours inscrit dans Intune.

SELECT 1
FROM
	registry
WHERE
	path LIKE 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Enrollments\%%'
	AND name =  "DiscoveryServiceFullURL"
	AND data NOT IN (
"https://enrollment.manage.microsoft.com/enrollmentserver/discovery.svc",
"https://discovery.dm.microsoft.com/EnrollmentConfiguration?api-version=1.0"
)

Vérifier la présence d'applications

(par exemple pour installer une application si elle est manquante)

Mac

SELECT 1 FROM apps WHERE bundle_identifier = 'your_bundle_identifier';
ℹ️
To find the bundle identifier of an application, run the following command in Terminal: osascript -e 'id of app "application_name"'

Windows

SELECT 1 FROM programs WHERE name LIKE '%application_name%';

Détecter si une application est en cours d'exécution

SELECT
	1
FROM
	processes
WHERE
	name LIKE '% process_name %';

Avez-vous trouvé votre réponse?