MacInfo is a lightweight shell script that leverages SwiftDialog and built‑in macOS commands to present key device details in a clean, interactive dialog. Perfect for HelpDesk agents who need to quickly gather system info during support calls. Tested in Jamf Pro but compatible with any MDM.
- Uptime (in days)
- Logged‑in user
- Serial number
- Architecture (e.g. x86_64, arm64)
- Hostname
- Current IP address(es)
- MAC address (Wi‑Fi interface)
- Jamf Pro client version (if jamf CLI is installed)
- macOS product version
- Customizable dialog icon, size, and content
- macOS (12.0+ recommended)
- SwiftDialog installed
- jamf CLI (optional, for Jamf version reporting)
- Clone the repo
git clone https://github.com/YOUR_USERNAME/macinfo.git cd macinfo - Make the script executable
chmod +x macinfo.sh
Run the script directly from Terminal or via your MDM:
./macinfo.shThe dialog will display all collected system details. Click the button to dismiss.
- Upload
macinfo.shas a Script in Jamf Pro. - Create a Policy scoped to your target Macs.
- In the “Scripts” payload, add
macinfo.shadd to self service so users can access whenever.
- Icon: Edit the
iconvariable at the top ofmacinfo.shto point to your preferred image URL. - Dialog Title & Size: Adjust the
--title,--width, and--heightflags in thelaunchDialog()function. - Displayed Fields: Modify the
--messagestring inlaunchDialog()to add/remove fields or change formatting (HTML<br>tags supported).
| Variable | Description |
|---|---|
serial_number |
Device serial from system_profiler |
hostname |
Hostname of the Mac |
UNAME_MACHINE |
CPU architecture (uname -m) |
current_ip |
Non‑loopback IP address(es) |
jamf_version |
Jamf Pro client version (jamf -version) |
macOS |
macOS version (sw_vers -productVersion) |
consoleuser |
Currently logged‑in user |
uptime |
Uptime in days (calculated from boot time) |
MAC |
Wi‑Fi interface MAC address |
- macOS Monterey (12.x)
- macOS Ventura (13.x)
- Jamf Pro 10.x
- Add CPU & memory usage statistics
- Support multiple network interfaces
- Localize dialog labels for other languages