Skip to main content

TeamViewer: macOS Client Setup

What

FileWave's TeamViewer integration requires endpoint prerequisites on each supported platform.  In future versions, we may embed some of these prerequisites, but at this time, we erred on the side of letting you control the elements.  So, slightly more work but much greater control.

When/Why

TeamViewer is used to remotely control your clients. You can use TeamViewer when you need access to a device for troubleshooting or assisting a user. TeamViewer for macOS differs from other OSs because it requires a few privacy permissions before allowing TeamViewer to be installed.

How

We'll need to meet prerequisites for macOS client devices in order for TeamViewer to work seamlessly. 

We'll need the:

The below describes installing the TeamViewer Host application. The full TeamViewer application is only necessary for computers wanting to remote into other computers. The Host application is only allowed to accept connections and not initiate them. You can use both, but we highly recommend the Host application.

(During an attempt to prompt a device for control, users will be prompted to either install or launch a local copy of Teamviewer.  Only the TeamViewer Host version can be launched if pre-installed.)

TCC Profile for TeamViewer Host - Accessibility, Screen Recording and Full Admin Access

Screen Sharing is a service deemed by Apple as user privacy.  Hence, users must locally enable Screen Sharing on macOS.

The profile enables 2 of the 3 permissions TeamViewer Host requires. The 3rd, Screen Recording, is a privacy setting that can not be allowed by anyone other than a local user.  Standard Users do not have permissions to allow Screen Recording by default.  This option to allow a non-Admin to enable Screen Sharing is enabled the provided Profile.

Profile Download (macOS 11+): TeamViewerHost15AllowUser.mobileconfig

The Profile contains two payloads: Privacy Settings & Custom Settings

Privacy Settings

The following Security & Privacy settings are allowed/enabled in the provided Profile.

Permissions to allow TeamViewer access rights, allow Standard users to enable Screen Recording, and Full Disk Access.

image.png

Custom Settings

Example additional configuration.

The included example settings include:

  • Security_Adminrights -- Lock TeamViewer options for Administrator rights
  • Security_PasswordStrength -- Password disabled, ensuring access is only via FileWave

image.png

TeamViewer Host Fileset

The included Filesets are examples which utilize a settings file set to install the software silently.  

Choose an embedded TeamViewer Fileset (note that you only need one of the below, but we may offer several versions in case you need an older version):  

TeamViewer Host Install macOS 15.52.3.fileset.zip

Consider downloading the latest version of TeamViewer Host PKG from the TeamViewer website, if desired:

macOS TeamViewer Host

After downloading, replace the current 'Install TeamViewerHost.pkg' with the downloaded version, ensuring the name of the PKG installer matches.
    1. Rename download as: 'Install TeamViewerHost.PKG'
    2. Double click current TeamViewer Fileset
    3. Expand: '/usr/local/etc/TeamViewer'
    4. Replace PKG

Fileset Contents:

macOS TeamViewer Host Fileset Contents

Installer and Installer Options:

The choices.xml file is configured to instal the .pkg silently. 

Requirement Script:

 This Fileset example includes a Requirement Script that checks for profile installation before activating TeamViewer, preventing the need to restart the TeamViewer Host service.

#!/bin/zsh

found_profile="ml1063.local.5a57bcb9-7293-4cba-a20b-126eb2660b25.Configuration.5a57bcb9-7293-4cba-a20b-126eb2660b25"

while [ $# -gt 0 ]
do
	found_profile=$(profiles list all | awk -v search=$1  '$0 ~ search {print $NF}')
	if [ ! -z $found_profile ]
	then
		echo "Found installed profile: $found_profile"
		exit 0
	else
		echo "Did not find $1" 
	fi
	shift
done
 
exit 1

The 'check_tv_profile.sh' script is designed to recognize the provided Profile and, once installed, allow activation of the Fileset.  If Profiles with a different Profile ID are used instead of the one supplied, the script will require alteration.

  • Double click the Fileset
  • Select the 'check_tv_profile.sh' (located in a numbered subfolder in /var/scripts/)
  • Select 'Edit Text'
  • Replace the 'found_profile' variable with the ID of your Profile (ID can be found by double-clicking on the profile. The ID is at the bottom if the info window)
  • Save
Activation Script:

The script in this case is installing the PKG.  Note the script allows the specifying of the 'choices.xml' file when ran.

#!/bin/zsh
installer -applyChoiceChangesXML /usr/local/etc/TeamViewer/choices.xml -pkg "/usr/local/etc/TeamViewer/Install TeamViewerHost.pkg" -target /
exit 0
Post-Uninstallation Script:

the 'mac_teamviewer_uninstaller.sh' script uninstalls TeamViewer if an association or deployment no longer exists.

Related Content