A utility to change default applications in macOS
MSDA provides an easy way to silently change the default applications used by macOS. There are no pop-ups or prompts and, even better, it works for Google Chrome!
Note: I assume these instructions will also work for MDM services other than Jamf, I just only have familiarity with Jamf
JAMF
variable to True
.Note: If using MSDA as a Jamf script, add these arguments in the Parameter 4 text field when assigning the script to a policy, excluding the initial msda
msda command -h --version
Note: The set
command must be run with administrative privileges
msda set [-h] [-feu] [-fut] [-e EXTENSION ROLE] [-p PROTOCOL] [-u UTI ROLE] app_id
set
commandEnglish.lproj
user template in addition to the currently logged on user (if there is one)Set Google Chrome as the default web browser for the current user and the user template
msda set com.google.chrome -p http -p https -u public.url all -u public.html viewer -u public.xhtml all -fut
Set Microsoft Outlook as the default email and calendar client for all existing users and the user template
msda set com.microsoft.outlook -p mailto -p webcal -u com.apple.ical.ics all -u com.apple.ical.vcs all -feu -fut
Set Adobe Acrobat as the default PDF reader for the current user only
msda set com.adobe.acrobat.pro -u com.adobe.pdf all
Set Microsoft Edge as the default web browser for just the current user
msda set com.microsoft.edgemac -p http -p https -u public.url all -u public.html viewer -u public.xhtml all
Set Google Chrome as the default web browser and email client for the current user and the user template
msda set com.google.chrome -p http -p https -p mailto -u public.url all -u public.html viewer -u public.xhtml all -fut
How can I find an application's ID?
Run
osascript -e 'id of app "Name of App"'
in a Terminal window, replacing the text between the double quotes with the name of the application in question.
How can I figure out what protocols or UTIs to set?
I've tried to include the most common examples above. Otherwise, a complete list of protocols can be found here, and UTIs here.
Are there commands other than set
?
At the moment, no. Please create an issue on this app's GitHub page if there are commands you'd find useful.
Why aren't there any examples of setting a default app for a file extension?
I haven't found any apps that require this to be set as a default app. This feature was included solely to prevent MSDA from malfunctioning when being used on a Mac where a default app was already assigned to a file extension.
Where can I go for help with this app?
If you need help with this app specifically, please feel free to create an issue on this app's GitHub page. I'll try to either respond, or implement changes to the app as soon as possible.
What about help with other Mac-related things?
Jamf Nation, the MacSysAdmin subreddit, and the MacAdmins Slack channel are all great resources for help managing Macs in an enterprise environment.