DEX Définitions de vérification pour MacOS

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 11 minutes de lecture
  • Les définitions de vérification sont MacOS des ensembles prédéterminés de règles et de critères qui évaluent les performances, la sécurité et la conformité des MacOS appareils. Ces vérifications peuvent couvrir divers aspects tels que l'utilisation du processeur et de la mémoire, les détails de la batterie et l'état du pare-feu.

    Pour les systèmes macOS, incluez le contenu suivant dans /etc/sudoers afin de récupérer l'intégralité des données.

    Pour la version 3.4.0 ou antérieure de l'agent :
    _servicenow ALL=NOPASSWD: SETENV: /Library/Caches/servicenow/agent-client-collector/osquery/bin/osqueryi *, /usr/bin/mdls, /usr/bin/log, /bin/kill, /bin/launchctl
    Defaults:_servicenow !requiretty
    Pour la version 3.4.1 ou ultérieure de l'agent :
    _servicenow ALL=NOPASSWD: SETENV: /Library/Application\ Support/servicenow/agent-client-collector/cache/osquery/bin/osqueryi *, /usr/bin/mdls, /usr/bin/log, /bin/kill, /bin/launchctl
     Defaults:_servicenow !requiretty
    Remarque :
    Vous pouvez configurer les définitions de vérification et les données récupérables associées. Certaines des définitions de vérification répertoriées peuvent récupérer des données qui contiennent des informations personnelles ou qui sont considérées comme des informations personnelles.
    Pour favoriser une configuration sudo correcte, supprimez le fichier suivant :
    /private/etc/sudoers.d/_servicenow

    Définitions de vérification : application (mesures)

    DEX fournit les définitions de vérification suivantes, disponibles lorsque l’application est en cours d’exécution, à l’exception de celles énumérées ci-dessous, qui restent accessibles même lorsque l’application n’est pas en cours d’exécution :
    • os.mac.check-app-version
    • os.mac.check-app-is-installed
    • os.mac.check-app-last-access-time
    • os.mac.check-app-last-updated
    Dans les paramètres de définition de vérification :
    • appName = nom de l'application. Par exemple, Webex.
    • appSysId = sys_id de l’application.
    • primaryProcess = liste des processus primaires de l'application séparés par un symbole de barre verticale ( | ). Le premier processus qui existe sur l'appareil de point de terminaison est prioritaire. Par exemple : Webex.app ou Microsoft Teams.app | Classic.app Microsoft Teams.
      Remarque :
      Lors de la détermination de la priorité en fonction de la disponibilité des processus sur un appareil de point de terminaison, suivez la logique suivante : si le processus primaire de l’application Teams est Microsoft Teams.app sur un appareil de point de terminaison et que c’est Microsoft Teams classic.app sur un autre appareil de point de terminaison, le processus qui est présent en premier sur l’appareil de point de terminaison a la priorité.
    • secondaryProcesses = liste des processus secondaires de l'application séparés par un symbole de barre verticale (|). Par exemple : Cisco WebEx Start.app | webexmtaV2.app.
    Vérifier le nom de la définition Paramètres de définition de vérification Description
    os.mac.check-app-cpu-usage
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie la quantité de ressources de processeur utilisées par l'application.
    os.mac.check-app-memory-usage
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie la quantité de ressources de mémoire utilisées par l'application.
    os.mac.check-app-listening-ports
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Récupère les numéros de port ouverts par lesquels le trafic réseau entrant peut atteindre l'application.
    os.mac.check-app-last-updated
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie l'heure et la date de la dernière installation de la mise à jour de l'application.
    Remarque :
    Cette définition de vérification ne nécessite pas que l’application soit à l’état En cours d’exécution.
    os.mac.check-app-version
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Récupère le numéro de version de l'application.
    Remarque :
    • Cette définition de vérification ne nécessite pas que l'application soit à l'état En cours d'exécution.
    • Si une application n’a pas de version, la définition de vérification renvoie la chaîne « sans version » pour cette application.
    os.mac.check-app-is-installed
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie si l'application est installée ou non sur l'appareil.
    Remarque :
    Cette définition de vérification ne nécessite pas que l’application soit à l’état En cours d’exécution.
    os.mac.check-app-is-running
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie si l’application est en cours d’exécution ou non.
    os.mac.check-app-uptime
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie la durée d'activité de l'application donnée.
    os.mac.check-app-last-access-time
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie l'heure la plus récente de l'exécution de l'application.
    Remarque :
    • Cette définition de vérification ne nécessite pas que l’application soit à l’état En cours d’exécution.
    • Si l’application n’a pas été exécutée par l’utilisateur au cours des 7 derniers jours, l’heure du dernier accès n’est pas renseignée.
    os.mac.check-app-io-usage-read
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie l'utilisation par l'application des opérations d'E/S (entrées/sorties) de lecture.
    os.mac.check-app-io-usage-write
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Vérifie l'utilisation par l'application des opérations d'E/S (entrées/sorties) d'écriture.
    os.mac.check-app-domain-network-latency
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    • --domain=<domaine de l'application>
    Extrait la latence du réseau du domaine de l'application.
    os.mac.check-app-crashes
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Récupère le nombre d’incidents et les détails des incidents de l’application.
    os.mac.check-app-freezes
    • --appName=<nom de l'application>
    • --primaryProcess=<nom du processus primaire>
    • --secondaryProcesses=<liste des processus secondaires séparés par un symbole de barre verticale>
    • --appSysId=<ID système de l'application>
    Récupère le nombre de blocages de l’application au cours des 5 dernières minutes et gèle les détails de l’application.

    Définitions de vérification : appareil (mesures)

    DEX assure les types suivants de définitions de vérification des appareils.
    Vérifier le nom de la définition Description
    os.mac.check-system-cpu-usage Vérifie l'utilisation du processeur.
    os.mac.check-system-cpu-details Récupère le nom du processeur, le nombre de cœurs physiques et logiques ainsi que les informations d'architecture.
    os.mac.check-system-memory-usage Vérifie l'utilisation de la mémoire système.
    os.mac.check-system-last-access-time Vérifie le dernier accès à l’appareil actuel.
    Remarque :
    Cette définition de vérification fonctionne sur les appareils verrouillés et déverrouillés.
    os.mac.check-system-uptime Vérifie le temps écoulé depuis le dernier démarrage du système.
    os.mac.check-system-time Vérifie l'heure actuelle en heure universelle coordonnée (UTC) à l'aide de l'horodatage UNIX.
    os.mac.check-system-device-crashes Récupère les détails des différents incidents sur votre appareil.
    Remarque :
    Cette vérification récupère les paniques du noyau présentes dans les journaux de l’appareil au cours des cinq dernières minutes.
    os.mac.check-system-device-details Récupère le type, le modèle et le numéro de série du châssis.
    os.mac.check-system-device-events Récupère les détails des événements qui se sont produits sur l'appareil pendant l'intervalle de temps spécifié. Les événements incluent MacOS : le dernier démarrage, les utilisateurs connectés, les logiciels installés, les logiciels mis à jour, les utilisateurs ajoutés et les mots de passe de réinitialisation.
    os.mac.check-system-disk-details Récupère les détails du disque tels que l'espace total, l'espace utilisé et l'espace libre en octets.
    os.mac.check-system-disk-io-usage-read Récupère les octets de disque lus par seconde.
    os.mac.check-system-disk-io-usage-write Récupère les octets de disque écrits par seconde.
    os.mac.check-system-disk-usage Récupère l'espace disque utilisé en pourcentage de l'espace total.
    os.mac.check-system-os-details Récupère le nom, la version, la plateforme, l'architecture et la date d'installation du système d'exploitation.
    os.mac.check-system-net-bytes-incoming Récupère le nombre d'octets de réseau entrants par seconde sur tous les appareils réseau.
    os.mac.check-system-net-bytes-outgoing Récupère le nombre d'octets de réseau sortants par seconde sur tous les appareils réseau.
    os.mac.check-system-logged-in-users Récupère les détails des utilisateurs actuellement connectés à l'appareil.
    os.mac.check-system-session-details Récupère la durée de session des utilisateurs actuellement connectés en minutes.
    os.mac.check-system-network-details Récupère les détails du réseau, y compris Ethernet, Wi-Fi et d'autres informations pertinentes.
    os.mac.check-system-battery-details Récupère les données relatives à la batterie, y compris le pourcentage restant de la batterie, la tension prévue, l'autonomie estimée et la capacité maximale de la batterie.
    Remarque :
    • Cette définition de vérification ne s'applique pas aux ordinateurs virtuels ni aux ordinateurs de bureau, car ils n'ont pas de batteries.
    • Si la capacité actuelle est supérieure à la capacité nominale, la batterie est arrondie à 100 %.
    os.mac.check-system-battery-charge-percentage Récupère le pourcentage de charge des batteries présentes dans l'appareil.
    Remarque :
    • Cette définition de vérification ne s'applique pas aux ordinateurs virtuels ni aux ordinateurs de bureau, car ils n'ont pas de batteries.
    • Si la capacité actuelle est supérieure à la capacité nominale, la batterie est arrondie à 100 %.
    os.mac.check-system-firewall-enabled Vérifie si le pare-feu du système d'exploitation est actif et activé.
    os.mac.check-system-pending-updates Vérifie l'état des mises à jour logicielles en attente.
    os.mac.check-system-admin-users Récupère tous les comptes utilisateurs disposant de privilèges d'administration locaux.
    os.mac.check-system-reboot-details Récupère les informations de redémarrage de l'appareil.
    os.mac.check-system-os-setup-details Récupère l'âge approximatif du système d'exploitation pour l'appareil.

    os.mac.check-system-compliance-details

    Récupère les détails de conformité du système. Cela inclut la liste de toutes les applications configurées et des valeurs de mesures qui ne sont pas conformes, et calcule une notation de conformité en fonction de cela.

    Remarque :
    • Cette définition de vérification fournit les détails suivants :
      • Condition pour que l’application soit dite conforme : chaque processus mentionné dans le processus primaire doit être en cours d’exécution.
      • Condition pour que la valeur de la mesure soit dite comme conforme : la valeur doit correspondre à la valeur attendue configurée.
    • Le score est ensuite calculé à l’aide de la formule suivante : Score = (Application de réclamation + valeur de mesure conforme) / (Nombre total d’applications et de valeur de mesure - Celles qui ont échoué) * 100
    os.mac.check-system-vpn-details Obtenez les détails du VPN pour votre appareil.
    os.mac.check-system-energy-consumption Obtient l’énergie consommée par l’ordinateur Mac dans les 5 prochaines minutes.
    Remarque :
    Il est important de tenir compte des éléments suivants :
    • /usr/bin/powermetrics doit être ajouté aux autorisations sudo.
    • La vérification prend environ cinq minutes, car elle calcule l’énergie consommée au cours des cinq prochaines minutes
    • Cette définition de vérification ne fonctionne pas si l’agent est installé avec Rosetta activé sur les machines M1, M2 et M3.
    os.mac.check-system-power-consumption Obtient la consommation électrique de l’appareil Mac.
    os.mac.check-system-custom-query-on-change Exécute la requête personnalisée fournie dans les paramètres. Renvoie la valeur uniquement lorsqu’elle est modifiée.
    os.all.check.internal.get-device-configuration-on-change Obtient les configurations d’un appareil. Par exemple : sudo configuré, débogage activé, utilisateur agent, etc. S’exécute uniquement si la valeur change.

    Définitions de vérification : actions de diagnostic

    DEX assure les types suivants de définitions de vérification des actions de diagnostic.
    Vérifier le nom de la définition Paramètres de définition de vérification Description
    os.mac.check-app-process-ids --process_name=<nom du processus> Récupère les ID de processus (PID) du processus parent et de tous les processus enfants associés à l'application.
    os.mac.check-process-cpu N. A. Récupère la liste de tous les processus en cours d'exécution ainsi que leur pourcentage d'utilisation du processeur, leur temps processeur, leur ID de processus (PID), leur ID de processus parent (PPID) ainsi que leur nom.
    os.mac.check-process-memory N. A. Récupère la liste de tous les processus en cours d'exécution ainsi que leur utilisation de la mémoire en kilo-octets (Ko), leur ID de processus (PID), leur ID de processus parent (PPID) ainsi que leur nom.
    os.mac.check-process-data N. A. Récupère l'utilisation du processeur, l'utilisation de la mémoire et l'utilisation du disque de tous les processus en cours d'exécution.
    os.mac.check-process-disk N. A. Récupère la liste de tous les processus en cours d'exécution ainsi que leur utilisation du disque en octets, leur ID de processus (PID), leur ID de processus parent (PPID) ainsi que leur nom.
    os.mac.check-traceroute --url=<url>

    --max_hops=<la valeur par défaut est égale à 65>

    --timeout=<la valeur par défaut est égale à 5>

    Récupère l’adresse IP, le nom de domaine et le temps d’aller-retour (RTT) pour chaque saut de réseau.
    os.mac.check-ping-test --url=<url> Envoie une demande Ping à l’URL indiquée et renvoie l’état de connectivité, indiquant si l’URL est accessible ou non.
    os.mac.check-services-data service_type =<Type de service (un de l’utilisateur, du système ou tous) Récupère la liste de tous les services avec le PID, le nom de service, l’état, le type de service.

    Définitions de vérification : actions de rattrapage

    DEX assure les types suivants de définitions de vérification des actions de rattrapage.
    Vérifier le nom de la définition Paramètres de définition de vérification Description
    os.mac.action-kill-process --pid=<ID de processus>

    OU

    --process_name=<nom du fichier exécutable>

    Remarque :
    L'ID de processus a priorité sur le nom de l'application.
    Arrête un processus en cours d'exécution, plusieurs processus spécifiés par leur ID de processus (PID) ou un nom de fichier exécutable (.app).
    os.mac.action-restart-service --service_name=<nom de service> Redémarre les services des utilisateurs connectés qui prennent un nom de service comme entrée dans le système.
    os.mac.action-execute-jamf-policy --ID de politique policy_id Exécutez la politique Jamf soit avec un ID de politique, soit avec une action prédéfinie. Les actions prédéfinies sont définies par les administrateurs DEX dans dex_jamf_policy table. Les agents du Centre de services peuvent sélectionner et exécuter les actions prédéfinies, car ils n’ont peut-être pas accès aux ID de politiques Jamf. La politique Jamf contient des informations sur le nom de l’application, des informations sur la version du package, l’action à effectuer (par exemple, installer ou désinstaller), des informations sur les éléments activés en libre-service, définis dans le serveur Jamf.
    Remarque :
    Le client Jamf doit être installé sur l’appareil pour exécuter la politique Jamf.
    os.mac.action-clear-app-cache auto_close = <Vrai/Faux si vous souhaitez que le processus soit fermé avant d’effacer le cache>

    process_name = <nom du processus>

    app_name = <nom de l’application>

    cache_path = <chemin d’accès au dossier de cache>

    Efface le cache de l’application.
    Remarque :
    Le chemin d’accès du cache est pris en charge pour Zoom, Microsoft Outlook et Microsoft Teams. Entrez le chemin d’accès du cache sans le chemin d’accès à l’utilisateur. Par exemple, si le cache se trouve dans le chemin d’accès C :\User\<UserName>\AppData\Roaming\Zoom\data, entrez AppData\Roaming\Zoom\data.