Python Script for Defender Onboarding- Help Please

New Contributor III

Since Apple depreciated Python 2 from all systems starting with 12.3 I cannot get any machine to onboard with our script. I installed python 3 and modified the script to point to that location. I get failed via Jamf and invalid syntax when dropping the script file in terminal after starting python. Below os the top part of the script.


#!/usr/local/bin/env python3

import sys, getopt, os, errno, json, plistlib, subprocess, tempfile

config_xml = '''<?xml version=\"1.0\" encoding=\"utf-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"\">
<plist version=\"1\">


Before the top line was #!/usr/bin/env python


Any Help is greatly appreciated 


New Contributor III

I may not need the help. Just got a new onboarding file from my InfoSec dept and they changed from a .py to a .sh good old regular shell script


You should also be able to pull the onboarding code for an MDM profile out of your Defender console. Using the profile instead of a script will ensure that users can't edit/change settings.

New Contributor III

We have a new onboarding file. They changed it to a shell script finally.