Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save talkingmoose/22f749726318b7523d52259c7b0f4302 to your computer and use it in GitHub Desktop.
Save talkingmoose/22f749726318b7523d52259c7b0f4302 to your computer and use it in GitHub Desktop.
Programmatic method to change a Jamf Pro server's Activation Code via the Classic API for Jamf Pro 10.35.0 and later.
#!/bin/zsh
# server connection information
URL="https://jss.talkingmoose.net:8443"
userName="JSSAPI-Editor"
password="password"
# use base64 to encode credentials
encodedCredentials=$( printf "$userName:$password" | iconv -t ISO-8859-1 | base64 -i - )
# XML data to upload
THExml="<activation_code>
<organization_name>Talking Moose Industries</organization_name>
<code>V7OV-XDEU-DOBI-UDEU-7DEU-DOUD-QRUD-EGNR</code>
</activation_code>"
# flattened XML
flatXML=$( /usr/bin/xmllint --noblanks - <<< "$THExml" )
# API submission command
/usr/bin/curl "$URL/JSSResource/activationcode" \
--header "Content-Type: text/xml" \
--header "Authorization: Basic $encodedCredentials" \
--request PUT \
--data "$flatXML"
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment