用 Jamf Pro 部署 TeamViewer 應用程式

Jamf Pro 說明文件 11.21.0

Solution
Application
Content Type
技術說明文件
Utilities & Services
version
11.21.0
ft:locale
zh-TW
vrm_version
11.21.0

Jamf 建議用戶端 Mac 在遠端支援工作階段期間下載 TeamViewer QuickSupport 應用程式。此操作無需預先安裝任何軟體。然而,您可以使用下列程序預先安裝 TeamViewer 或 TeamViewer Host 應用程式。

Note:

用戶 Mac 電腦上所安裝的 TeamViewer 應用程式不需要授權。TeamViewer 腳本避免使用 Composer 進行重新封裝。

Requirements
  • 安裝「TeamViewer.pkg」或「Install TeamViewerHost.pkg」安裝程式

  • 安裝「TeamViewer with Choices」腳本或「Install TeamViewer Host with Choices」腳本

  1. 適用 macOS 的 TeamViewer 頁面下載 TeamViewer 或 TeamViewer Host。
  2. 開啟 DMG 檔案。
  3. 在「安裝 TeamViewer.app」或「安裝 TeamViewer Host.app」上按滑鼠右鍵,並選擇 顯示套件內容
  4. 開啟 內容 > 資源。將「Install TeamViewer.pkg」或「Install TeamViewerHost.pkg」套件上傳至 Jamf Pro > 設定 > 電腦管理 > 套件
  5. 從下方選擇所需的腳本,並將該腳本新增至 Jamf Pro > 設定 > 電腦管理 > 腳本
    • Install TeamViewer with Choices

      #!/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
    • Install TeamViewer Host with Choices

      #!/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. 建立政策,以使用步驟 4 的 DMG 和安裝程式腳本來安裝 TeamViewer。確保以下內容:
    • TeamViewer 套件設定為 快取,而非 安裝

    • TeamViewer 腳本優先順序設定為 After。

    如需建立政策的指示,請參閱 政策管理

政策將會在範圍內電腦於下次報到 Jamf Pro 且符合「一般」承載資料中的規則時,於這些電腦上執行。