Déploiement de l’app TeamViewer à l’aide de Jamf Pro

Documentation Jamf Pro 11.16.0

Solution
Application
Content Type
Documentation technique
Utilities & Services
version
11.16.0
ft:locale
fr-FR
vrm_version
11.16.0

Jamf recommande de télécharger l’application TeamViewer QuickSupport sur le Mac client pendant la session d’assistance à distance. Cette étape ne requiert aucune installation préalable de logiciel. Cependant, vous pouvez préinstaller l’app TeamViewer ou l’app TeamViewer Host lors de la procédure suivante.

Note:

Les applications TeamViewer installées sur les ordinateurs Mac des utilisateurs finaux ne nécessitent aucune licence. Les scripts TeamViewer évitent d’utiliser Composer pour le ré-empaquetage.

Requirements
  • Programme d’installation « Install TeamViewer.pkg » ou « Install TeamViewerHost.pkg »

  • Script « Install TeamViewer with Choices » ou script « Install TeamViewer Host with Choices »

  1. Téléchargez l’app TeamViewer ou TeamViewer Host depuis la page TeamViewer pour macOS.
  2. Ouvrez le fichier DMG.
  3. Faites un clic droit sur le fichier « Install TeamViewer.app » ou « Install TeamViewer Host.app » et choisissez Afficher le contenu du paquet.
  4. Ouvrez Contenu > Ressources. Téléversez le paquet « Install TeamViewer.pkg » ou « Install TeamViewerHost.pkg » dans Jamf Pro > Réglages > Gestion des ordinateurs > Paquets.
  5. Choisissez le script souhaité ci-dessous et ajoutez-le dans Jamf Pro > Réglages > Gestion des ordinateurs > Scripts.
    • Installer TeamViewer avec des options

      #!/bin/zsh
      function logmessage()   {
          if [ $? = 0 ] ; then
              echo "$1"
          else
              echo "$2"
              echo "Aborting script"
              cleanup
              exit 1
          fi
      }
       
      function cleanup()  {
          /bin/rm -Rf "$tempDirectory"
          logmessage "Removed temporary items." "Failed removing temporary items."
          /bin/rm -f "/Library/Application Support/JAMF/Waiting Room/Install TeamViewer.pkg" && /bin/rm -Rf "/Library/Application Support/JAMF/Waiting Room/Install TeamViewer.pkg.cache.xml"
          logmessage "Removed TeamViewer package and supporting files from Jamf Waiting Room." "Failed Removing TeamViewer package and supporting files from Jamf Waiting Room."
      }
       
       
      choicesXML='<?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <array>
          <dict>
              <key>attributeSetting</key>
              <integer>1</integer>
              <key>choiceAttribute</key>
              <string>selected</string>
              <key>choiceIdentifier</key>
              <string>com.teamviewer.teamviewerPriviledgedHelper</string>
          </dict>
          <dict>
              <key>attributeSetting</key>
              <integer>1</integer>
              <key>choiceAttribute</key>
              <string>selected</string>
              <key>choiceIdentifier</key>
              <string>com.teamviewer.teamviewerSilentInstaller</string>
          </dict>
      </array>
      </plist>'
       
       
      # create temporary working directory
      workDirectory=$( /usr/bin/basename $0 )
      tempDirectory=$( /usr/bin/mktemp -d "/private/tmp/$workDirectory.XXXXXX" )
      logmessage "Created working directory '$tempDirectory'." "Failed to create working directory '$tempDirectory'."
       
      # change directory to temporary working directory
      cd "$tempDirectory"
      logmessage "Changed directory to working directory '$tempDirectory'." "Failed to change directory to working directory '$tempDirectory'."
       
      echo "$choicesXML" > "$tempDirectory/choices.xml"
      logmessage "Created choices.xml file in '$tempDirectory'." "Created choices.xml file in '$tempDirectory'."
       
      /usr/sbin/installer -pkg "/Library/Application Support/JAMF/Waiting Room/Install TeamViewer.pkg" -applyChoiceChangesXML "$tempDirectory/choices.xml" -target /
      logmessage "Installed TeamViewer package with choices." "Failed to install TeamViewer package with choices."
       
      cleanup
       
      exit 0
    • Installer TeamViewer Host avec des options

      #!/bin/zsh
      function logmessage()   {
          if [ $? = 0 ] ; then
              echo "$1"
          else
              echo "$2"
              echo "Aborting script"
              cleanup
              exit 1
          fi
      }
       
      function cleanup()  {
          /bin/rm -Rf "$tempDirectory"
          logmessage "Removed temporary items." "Failed removing temporary items."
          /bin/rm -f "/Library/Application Support/JAMF/Waiting Room/Install TeamViewerHost.pkg" && /bin/rm -Rf "/Library/Application Support/JAMF/Waiting Room/Install TeamViewerHost.pkg.cache.xml"
          logmessage "Removed TeamViewer Host package and supporting files from Jamf Waiting Room." "Failed Removing TeamViewer Host package and supporting files from Jamf Waiting Room."
      }
       
       
      choicesXML='<?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <array>
          <dict>
              <key>attributeSetting</key>
              <integer>1</integer>
              <key>choiceAttribute</key>
              <string>selected</string>
              <key>choiceIdentifier</key>
              <string>com.teamviewer.teamviewerPriviledgedHelper</string>
          </dict>
          <dict>
              <key>attributeSetting</key>
              <integer>1</integer>
              <key>choiceAttribute</key>
              <string>selected</string>
              <key>choiceIdentifier</key>
              <string>com.teamviewer.teamviewerhostSilentInstaller</string>
          </dict>
      </array>
      </plist>'
       
       
      # create temporary working directory
      workDirectory=$( /usr/bin/basename $0 )
      tempDirectory=$( /usr/bin/mktemp -d "/private/tmp/$workDirectory.XXXXXX" )
      logmessage "Created working directory '$tempDirectory'." "Failed to create working directory '$tempDirectory'."
       
      # change directory to temporary working directory
      cd "$tempDirectory"
      logmessage "Changed directory to working directory '$tempDirectory'." "Failed to change directory to working directory '$tempDirectory'."
       
      echo "$choicesXML" > "$tempDirectory/choices.xml"
      logmessage "Created choices.xml file in '$tempDirectory'." "Created choices.xml file in '$tempDirectory'."
       
      /usr/sbin/installer -pkg "/Library/Application Support/JAMF/Waiting Room/Install TeamViewerHost.pkg" -applyChoiceChangesXML "$tempDirectory/choices.xml" -target /
      logmessage "Installed TeamViewerHost package with choices." "Failed to install TeamViewerHost package with choices."
       
      cleanup
       
      exit 0
      
  6. Créez une règle pour installer TeamViewer en utilisant le DMG de l’étape 4 et le script du programme d’installation. Vérifiez ce qui suit :
    • Le paquet TeamViewer est réglé sur Mettre en cache et pas sur Installer.

    • La priorité du script TeamViewer est réglée sur Après.

    Pour obtenir des instructions sur la création d’une règle, consultez Gestion des règles.

La règle sera exécutée sur les ordinateurs figurant dans le périmètre la prochaine fois qu’ils se connectent à Jamf Pro et s’ils répondent aux critères définis dans l’entité Général.