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

    View full-size slide

  2. Title slide uses the “Reveal” slide transition

    View full-size slide

  3. © JAMF Software, LLC
    Dan K. Snelson
    Sr. System Engineer

    The Church of Jesus Christ of Latter-day Saints

    View full-size slide

  4. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service

    View full-size slide

  5. © 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

    View full-size slide

  6. © JAMF Software, LLC
    Why Beta Test?

    The three great motivators

    View full-size slide

  7. © JAMF Software, LLC
    Why Beta Test?

    The three great motivators
    Fear
    Duty
    Love

    View full-size slide

  8. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    Demo, Extension Attribute, Smart Groups & API

    View full-size slide

  9. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    End-user Demo

    View full-size slide

  10. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    End-user Demo

    View full-size slide

  11. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    Extension Attribute

    View full-size slide

  12. © 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

    View full-size slide

  13. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    Smart Groups

    View full-size slide

  14. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    API Alternatives: Manual Update & MUT

    View full-size slide

  15. © JAMF Software, LLC
    MUT: Mass Update Tool

    http://jssmut.com

    View full-size slide

  16. © JAMF Software, LLC
    MUT: Mass Update Tool

    http://jssmut.com

    View full-size slide

  17. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    API

    View full-size slide

  18. © 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

    View full-size slide

  19. © 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)

    View full-size slide

  20. © 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

    View full-size slide

  21. © 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
    "${eaName}" | /usr/bin/awk -F'>|<' '/value/{print $3}' )
    /bin/echo "* Extension Attribute ${eaName}'s Current Value: ${apiRead}"
    # Construct the API data ...
    apiData="${eaName}${eaValue}
    value>"
    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
    "${eaName}" | /usr/bin/awk -F'>|<' '/value/{print $3}' )
    /bin/echo "* Extension Attribute ${eaName}'s New Value: ${apiRead}"

    View full-size slide

  22. © JAMF Software, LLC

    View full-size slide

  23. © 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

    View full-size slide

  24. © JAMF Software, LLC
    Policy: Opt-in Beta Test Program via Self Service
    /usr/local/bin/jamf manage -verbose

    View full-size slide

  25. © JAMF Software, LLC

    View full-size slide

  26. © 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

    View full-size slide

  27. © JAMF Software, LLC
    Policy: Opt-out Beta Test Program via Self Service

    View full-size slide

  28. © JAMF Software, LLC
    Putting it all together: Policy Scope
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service

    View full-size slide

  29. © JAMF Software, LLC
    Putting it all together: Policy Scope

    View full-size slide

  30. © JAMF Software, LLC
    End-user Engagement & Feedback
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service

    View full-size slide

  31. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    End-user Engagement & Feedback

    View full-size slide

  32. © JAMF Software, LLC
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service
    Motivate users to continue testing

    View full-size slide

  33. © JAMF Software, LLC
    Take-aways
    Your Internal Beta Test Program:

    Opt-in / Opt-out via Self Service

    View full-size slide

  34. © 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

    View full-size slide

  35. © JAMF Software, LLC
    Thank you for listening!
    Give us feedback by
    completing the two-question
    session survey in the

    JNUC 2019 app.

    View full-size slide