DEX check definitions for macOS

reference brazil Updated Sep 10, 2026 10 min read dex-check-definitions-mac.md
Raw file servicenow.com

Check definitions for macOS are predetermined sets of rules and criteria that assess the performance, security, and conformance of macOS devices. These checks can cover various aspects such as CPU usage, memory usage, battery details, and firewall status.

Note: You can configure the check definitions and associated retrievable data. Some of the listed check definitions might retrieve data that contains or is considered personal information.

Check definitions — Application (Metrics)

DEX provides the following check definitions, available while the application is running, except these listed below, which remain accessible even when the application isn’t running:

  • os.mac.check-app-version
  • os.mac.check-app-is-installed
  • os.mac.check-app-last-access-time
  • os.mac.check-app-last-updated

In the check definition parameters:

  • appName = application name. For example, Webex.

  • appSysId = sys_id of the application.

  • primaryProcess = list of primary processes for the application separated by a pipe symbol ( | ). The first process that exists on the endpoint device is given priority. For example: Webex.app or Microsoft Teams.app | Microsoft Teams Classic.app.

    Note: When determining priority based on process availability on an endpoint device, follow this logic: If the primary process for the Teams application is Microsoft Teams.app on one endpoint device and it’s Microsoft Teams classic.app on another endpoint device, then the process that is present on the endpoint device first is given precedence.

  • secondaryProcesses = list of secondary processes for the application separated by a pipe symbol ( | ). For example: Cisco WebEx Start.app | webexmtaV2.app.

Check definition name

Check definition parameters

Description

os.mac.check-app-cpu-usage

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks the amount of CPU resources being used by the primary process and secondary process of the application.

.

os.mac.check-app-memory-usage

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks the amount of memory resources being used by the primary process and secondary process of the application.

os.mac.check-app-listening-ports

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Retrieves the port numbers that are open and through which incoming network traffic can reach the application.

os.mac.check-app-last-updated

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks the time and date of the latest application update installation.Note: This check definition doesn’t require the application to be in a running state.

os.mac.check-app-version

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Retrieves the version number of the application.Note:

  • This check definition doesn't require the application to be in a running state.
  • If an application doesn’t have a version, the check definition returns the string "unversioned" for that application.

os.mac.check-app-is-installed

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks whether the application is installed on the device.Note: This check definition doesn’t require the application to be in a running state.

os.mac.check-app-is-running

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks whether the application is in a running state.

os.mac.check-app-uptime

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks the uptime of the given application.

os.mac.check-app-last-access-time

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks the most recent time when the application was executed or run.Note:

  • This check definition doesn’t require the application to be in a running state.
  • If the application hasn’t been run by the user within the last 7 days, the last access time is empty.

os.mac.check-app-io-usage-read

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks the Read I/O (Input/Output) operations performed by the application's primary and secondary processes.

os.mac.check-app-io-usage-write

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Checks the Write I/O (Input/Output) operations performed by the application's primary and secondary processes.

os.mac.check-app-domain-network-latency

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>
  • --domain=<domain of the application>

Fetches network latency of the application domain.

os.mac.check-app-crashes

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Fetches number of crashes and crash details of the application.

os.mac.check-app-freezes

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Fetches number of app freezes in the last 5 minutes and freeze details of the application.

os.mac.check-app-zscaler-service-status

  • --appName=<application name>
  • --primaryProcess=<primary process name>
  • --secondaryProcesses=<list of secondary processes separated by a pipe symbol>
  • --appSysId=<sys id of the application>

Retrieves the Zscaler service status information.

## Check definitions — Device \(Metrics\)

DEX provides the following types of check definitions for device.

Check definition name

Description

os.mac.check-system-cpu-usage

Checks the CPU utilization.

os.mac.check-system-cpu-details

Retrieves the CPU name, number of physical and logical cores, and architecture information.

os.mac.check-system-memory-usage

Checks system memory utilization.

os.mac.check-system-last-access-time

Checks the last time that the current device was accessed. Note: This check definition works on locked and unlocked devices.

os.mac.check-system-uptime

Checks the amount of time elapsed since the system was last booted.

os.mac.check-system-time

Checks the current time in Coordinated Universal Time (UTC) using UNIX timestamp.

os.mac.check-system-device-crashes

Retrieves details of different crashes on your device.Note: This check fetches Kernel Panics present in the device logs in the last five minutes.

os.mac.check-system-device-details

Retrieves the type, model, and serial number of the chassis.

os.mac.check-system-device-events

Retrieves the details of events that occurred on the device during the specified time interval. Events for macOS include: Last boot, logged-in users, installed software, updated software, added users, and reset passwords.

os.mac.check-system-disk-details

Retrieves disk details such as total space, used space, and free space in bytes.

os.mac.check-system-disk-io-usage-read

Retrieves disk bytes read per second.

os.mac.check-system-disk-io-usage-write

Retrieves disk bytes written per second.

os.mac.check-system-disk-usage

Retrieves the disk used space as a percentage of the total space.

os.mac.check-system-os-details

Retrieves the name, version, platform, architecture, and installation date of the operating system.

os.mac.check-system-net-bytes-incoming

Retrieves the incoming network bytes per second across all network devices.

os.mac.check-system-net-bytes-outgoing

Retrieves the outgoing network bytes per second across all network devices.

os.mac.check-system-logged-in-users

Retrieves the details of users currently logged in to the device.

os.mac.check-system-session-details

Retrieves the session time of currently logged-in users in minutes.

os.mac.check-system-network-details

Retrieves the network details, including Ethernet, Wi-Fi, and other relevant information.

os.mac.check-system-battery-details

Retrieves battery-related data, including the remaining battery percentage, the designed voltage, the estimated run time, and the battery's maximum capacity.Note:

  • This check definition doesn't apply to virtual machines (VMs) or desktops because they don't have batteries.
  • If current capacity is greater than designed capacity, the battery is rounded off to 100%.

os.mac.check-system-battery-charge-percentage

Retrieves the charge percentage of batteries present on the device.Note:

  • This check definition doesn't apply to virtual machines (VMs) or desktops because they don't have batteries.
  • If current capacity is greater than designed capacity, the battery is rounded off to 100%.

os.mac.check-system-firewall-enabled

Checks if the operating system firewall is active and enabled.

os.mac.check-system-pending-updates

Checks the status of pending software updates.

os.mac.check-system-admin-users

Retrieves all user accounts with local administrative privileges.

os.mac.check-system-reboot-details

Retrieves the reboot details for the device.

os.mac.check-system-os-setup-details

Retrieves the approximate OS age for the device.

os.mac.check-system-compliance-details

Retrieves the system’s compliance details. This includes the list of all configured apps and metric values that are non-compliant, and calculates a compliance rating based on that.

Note:

  • This check definition provides the following details:
    • Condition for app to be said as compliant: Every process mentioned in primary process should be running.
    • Condition for metric value to be said as compliant: Value should be matching with the configured expected value.
  • The score is then calculated using this formula: Score = (Compliant applications + Compliant metric values) / (Total applications and metric values - Failed ones) * 100

os.mac.check-system-vpn-details

Gets the VPN details for the device.

os.mac.check-system-energy-consumption

Gets the energy consumed by the macOS device in the next 5 minutes.Note: It's important to consider the following:

  • Add /usr/bin/powermetrics to the sudo permissions.
  • The check takes approximately five minutes to complete because it calculates the energy consumed in the next five minutes.
  • This check definition doesn't work if the agent is installed with Rosetta turned on, on M1, M2, or M3 machines.

os.mac.check-system-power-consumption

Gets the power consumption for the macOS device.

os.mac.check-system-custom-query-on-change

Executes the custom query provided in the parameters. Returns value only when changed.

os.all.check.internal.get-device-configuration-on-change

Gets the configurations of a device. For example: sudo configured, debug on, agent user, and so on. Runs only if value changes.

os.mac.action-kill-zombie-orphan-process

Takes an app name as input, identifies zombie and orphan processes for that app using the app_process_data.sh script, and kills them. Returns output in the format {isSuccess: true/false, message: "success/failure message", output: {"killedProcessPids": [array of pids]}}

## Check definitions — Diagnostic Actions

DEX provides the following types of check definitions for Diagnostic actions.

Check definition name

Check definition parameters

Description

os.mac.check-app-process-ids

--process_name=<process name>

Retrieves the Process IDs (PIDs) of both the parent and all the child processes associated with the application.

os.mac.check-process-cpu

None

Retrieves a list of all running processes along with their CPU usage percentage, CPU time, Process ID (PID), Parent Process ID (PPID), and name.

os.mac.check-process-memory

None

Retrieves a list of all running processes along with their memory usage in kilobytes (KB), Process ID (PID), Parent Process ID (PPID), and name.

os.mac.check-process-data

None

Retrieves the CPU usage, memory usage, and disk usage of all currently running processes.

os.mac.check-process-disk

None

Retrieves a list of all running processes along with their disk usage in bytes, Process ID (PID), Parent Process ID (PPID), and name.

os.mac.check-traceroute

--url=<url>--max_hops = <default value is 65>

--timeout = <default value is 5>

Retrieves the IP address, domain name, and round-trip time (RTT) for each network hop.

os.mac.check-ping-test

--url=<url>

Sends a ping request to the provided URL and returns the connectivity status, indicating whether the URL is reachable or not.

os.mac.check-services-data

service_type =<Type of service(one of user, system or all)

Retrieves the list of all services with PID, service name, status, and service type.

## Check definitions — Remedial Actions

DEX provides the following types of check definitions for Remedial actions.

Check definition name

Check definition parameters

Description

os.mac.action-kill-process

--pid=<process id>OR

--process_name=<executable file name>

Note: The process ID takes priority over the application name.

Terminates a running process or multiple processes specified by their Process ID (PID) or executable (.app) file name.

os.mac.action-restart-service

--service_name=<service name>

Restarts the logged-in user's service that matches the specified service name.

os.mac.action-execute-jamf-policy

--Policy ID - policy_id

Executes the Jamf policy either with a policy ID or with a predefined action. Predefined actions are set by DEX administrators in the dex_jamf_policy table. Service desk agents can select and run the predefined actions because they might not have access to Jamf policy IDs. Jamf policy has information about the application name, package version information, action to be performed (for example, install or uninstall), information on enabled on self service, defined in the Jamf server.Note: Jamf client must be installed on the device to execute the Jamf policy.

os.mac.action-clear-app-cache

auto_close = <True/False whether you want the process to be closed before clearing the cache>process_name = <Process name>

app_name = <Application name>

cache_path = <Path to the cache folder>

Clears the application cache.Note: Cache path is supported for Zoom, Microsoft Outlook, and Microsoft Teams. Enter cache path without the path to the user. For example, if the cache is at path C:\User\<UserName>\AppData\Roaming\Zoom\data enter AppData\Roaming\Zoom\data.

os.mac.action-zscaler-zpa-reconnect

None

Resolves Zscaler connectivity issues.

os.mac.action-restart-one-drive

None

Restarts OneDrive on the end user's device.

os.mac.action-clear-google-chrome-browsing-data

remove_web_data = <True/False whether you want to remove the web data>

Removes all the browsing data on Google Chrome from all the Google Chrome profiles.

os.mac.action-purge-recycle-bin

None

Clears all the files in the recycle bin.

os.mac.action-reset-google-chrome-settings

None

Clears the settings and removes all the installed Google Chrome extensions on all the Google Chrome profiles.

os.mac.action-toggle-power-mode

power_mode - Automatic, High power, Low power.

Toggles through different power modes on the user's macOS device.

os.mac.action-elevate-temporary-admin

duration

user_id = ID of the user

Grants users temporary administrator access for a period of time to perform specific tasks.

Search documentation
Search document titles and file paths on the brazil branch