Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Your Internal Beta Test Program: Opt-in/Opt-out via Self Service

Jamf
November 13, 2019
120

Your Internal Beta Test Program: Opt-in/Opt-out via Self Service

Jamf

November 13, 2019
Tweet

Transcript

  1. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service Session Start Time - End Time (JNUC team will add this) UP NEXT
  2. © JAMF Software, LLC Dan K. Snelson Sr. System Engineer

    The Church of Jesus Christ of Latter-day Saints
  3. © JAMF Software, LLC Why Beta Test? The three great

    motivators How to Opt-in / Opt-out via Self Service Putting it all together: Policy Scope Increase End-user Engagement & Feedback Presentation Agenda Your Internal Beta Test Program: Opt-in / Opt-out via Self Service
  4. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service Demo, Extension Attribute, Smart Groups & API
  5. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service End-user Demo
  6. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service End-user Demo
  7. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service Extension Attribute
  8. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service Extension Attribute Alpha Only your
 computers
 Beta Your team’s
 computers
 Gamma Opt-in tester’s computers
  9. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service Smart Groups
  10. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service API Alternatives: Manual Update & MUT
  11. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service API API Permissions for Computer Extension Attributes Script: Extension Attribute Update.bash Policy: Opt-in Beta Test Program via Self Service Policy: Opt-out Beta Test Program via Self Service
  12. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service API API Permissions for Computer Extension Attributes Computer Extension Attributes (read / update) Computers (read / update) User Extension Attributes (read / update) Users (read / update)
  13. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service API API Permissions for Computer Extension Attributes Script: Extension Attribute Update.bash GitHub.com/dan-snelson
  14. © JAMF Software, LLC ### Variables apiURL=“https://your.jamf-pro.server.com:8443" # Jamf Pro

    URL without trailing forward slash apiUsername=“${4}" # API Username apiPasswordEncrypted=“${5}" # API Encrypted Password eaName=“${6}" # Name of Extension Attribute (i.e., "Testing Level") eaValue=“${7}" # Value for Extension Attribute (i.e., "Gamma" or "None") Salt="Salt goes here" # Salt, generated from Encrypt Password Passphrase="Passphrase goes here” # Passphrase, generated from Encrypt Password computerUUID=$( /usr/sbin/system_profiler SPHardwareDataType | /usr/bin/awk '/Hardware UUID:/ { print $3 }' ) ###################################### No edits needed below this line ###################################### Script: Extension Attribute Update.bash GitHub.com/dan-snelson # Read current value ... apiRead=$( /usr/bin/curl -H "Accept: text/xml" -sfu ${apiUsername}:${apiPassword} ${apiURL}/JSSResource/ computers/udid/${computerUUID}/subset/extension_attributes | /usr/bin/xmllint --format - | /usr/bin/grep -A3 "<name>${eaName}</name>" | /usr/bin/awk -F'>|<' '/value/{print $3}' ) /bin/echo "* Extension Attribute ${eaName}'s Current Value: ${apiRead}" # Construct the API data ... apiData="<computer><extension_attributes><extension_attribute><name>${eaName}</name><value>${eaValue}</ value></extension_attribute></extension_attributes></computer>" apiPost=$( /usr/bin/curl -H "Content-Type: text/xml" -sfu ${apiUsername}:${apiPassword} ${apiURL}/JSSResource/ computers/udid/${computerUUID} -d "${apiData}" -X PUT ) /bin/echo ${apiPost} # Read the new value ... apiRead=$( /usr/bin/curl -H "Accept: text/xml" -sfu ${apiUsername}:${apiPassword} ${apiURL}/JSSResource/ computers/udid/${computerUUID}/subset/extension_attributes | /usr/bin/xmllint --format - | /usr/bin/grep -A3 "<name>${eaName}</name>" | /usr/bin/awk -F'>|<' '/value/{print $3}' ) /bin/echo "* Extension Attribute ${eaName}'s New Value: ${apiRead}"
  15. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service API API Permissions for Computer Extension Attributes Script: Extension Attribute Update.bash Policy: Opt-in Beta Test Program via Self Service
  16. © JAMF Software, LLC Policy: Opt-in Beta Test Program via

    Self Service /usr/local/bin/jamf manage -verbose
  17. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service API API Permissions for Computer Extension Attributes Script: Extension Attribute Update.bash Policy: Opt-in Beta Test Program via Self Service Policy: Opt-out Beta Test Program via Self Service
  18. © JAMF Software, LLC Putting it all together: Policy Scope

    Your Internal Beta Test Program: Opt-in / Opt-out via Self Service
  19. © JAMF Software, LLC End-user Engagement & Feedback Your Internal

    Beta Test Program: Opt-in / Opt-out via Self Service
  20. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service End-user Engagement & Feedback
  21. © JAMF Software, LLC Your Internal Beta Test Program: Opt-in

    / Opt-out via Self Service Motivate users to continue testing
  22. © JAMF Software, LLC Love your opt-in beta testers GitHub.com/dan-snelson

    No API required to start Deploy a Stage lane in 2020 Questions? Take-aways Your Internal Beta Test Program: Opt-in / Opt-out via Self Service
  23. © JAMF Software, LLC Thank you for listening! Give us

    feedback by completing the two-question session survey in the
 JNUC 2019 app.