Skip to main content

TeamViewer: macOS Client Setup


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.


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.


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

We'll need the:

In this documentation, we will be installing the TeamViewer Host application. MostThe customersfull willTeamViewer wantapplication is only necessary for computers wanting to useremote TeamViewerinto Host.

other computers.
  • The

    Finally,Host we'llapplication wantis only allowed to deploy a profile to pre-accept thatconnections TeamViewerand not initiate them. You can interactuse withboth, but we highly recommend the device screen (similar to Observe Client and other screen viewing tools).

  • When thinking about if you want to use TeamViewer or TeamViewer Host, the most important thing is if you want to remove the possibility that devices could initiate a remote session to another device. For a school, they might not want students to be able to create remote sessions. TeamViewer Host is an application that can only receive connections to be controlled but not control another device. application.

    (During an attempt to controlprompt a device,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.)


    FileWave Client (14.7+)

    The most recent FileWave client is always included on the FileWave download pages, which you can find here: Downloads

    Remember to always use the client updater Fileset to update your clients.  Do NOT push the FileWave client PKG to upgrade macOS clients.



    Consider making a Fileset Group.  The group will contain the following two Filesets and is designed to set up TeamViewer Host.

    Profile - TCC FilesetProfile for TeamViewer Host allowing Privacy Access rights for- Accessibility and Full Admin Access:


    ThisThese profileprofiles will allow you to enable 2 of the 3 permissions that TeamViewer Host needs. Screen Recording is a permissionprivacy setting that can not be allowed by anyone but the user. You can, however, give a Standard User the rightsright to allow Screen Recording (macOS 11+).


    The Profile for TeamViewer Host

    ↓ macOS
    FileWave Download.png

    TCC Profile for TeamViewer Host (Including Standard User Screen Recording Allowance)

    Alternatively, below is a profile that allows a Standard User to enable Screen Recording for TeamViewer App (requires macOS 11+):

    ↓ macOS
    FileWave Download.png

    Thesetwo profiles may be uploaded simultaneously. The Fileset Requirement Script is designedable to identifieridentify either installed.profile.

    TCC Profile for TeamViewer Host: Profile -


    TCC Profile for TeamViewer Host with Standard User Screen Recording Allowance 11+: Profile - TeamViewerHost Allow Standard


    Teamviewer Host Fileset

    We are including the below Fileset/payload as an example only to show the use of the settings file.  You'll always want toPlease download the most recent version of TeamViewer yourself at the link above for your own installer. 

    PKG - Install TeamViewerHost.pkg

    To put the latest TeamViewer Host PKG in this Fileset, you should download the installer from the TeamViewer website and then right-click the installer app and Show Contents which will reveal the Install TeamViewerHost.PKG file. Edit the example Fileset below and add the PKG installer to /usr/local/etc/TeamViewer/ and replace the one in the Fileset.


    Options for configuring the Host Application are available and an example is below but is not included in this Fileset.

    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


    TeamViewer Host Install macOS

    Fileset Contents:

    macOS TeamViewer Host Fileset Contents

    Installer and Installer Options:

    The choices.xml file tells the .pkg to install silently. 

    Requirement Script:

    This Fileset example includes the below Requirement Script that checks forthat either profile is installed before continuing with the profilerest fromof the TCC Fileset. This way, TeamViewer Host won't install until that profile is present.present, and won't prompt the user for Full Disk Access and Accessibility Privacy Settings. 

    The check_profilecheck_tv_profile script can be found by selecting the imported Fileset and clicking Scripts in the toolbar. You will need to put your Profile’s Identifier in the script as shown below. If you’re using the provided Profiles, the ID will be one of the following:

    TCC Profile without Screen Recording option: ml1063.lan.30916554-5d82-4d52-a86d-3cd457330717.Configuration.30916554-5d82-4d52-a86d-3cd457330717

    TCC Profile with Screen Recording option (macOS 11+) : ml1063.local.5a57bcb9-7293-4cba-a20b-126eb2660b25.Configuration.5a57bcb9-7293-4cba-a20b-126eb2660b25

    If you are using your own Profile or you had to regenerate the Identifier, you can find yoursyour ID in the Profile Info window (double-click on Profile in Admin). and change one of the found_profile values to your ID.


    found_profile=#edited by Emma Ainsworth 6/15/2023 to check for both profiles
    Identifierif Here"
    while [ $#profiles -gt 0 ]
    	found_profile=$(profiles list allP | awkegrep -v search=$1  '$0 ~ search {printq $NF}')
    	if [ ! -z $found_profile ]found_profile1; 
    	echo "Found installed profile: $found_profile"found_profile1"
    	exit 0
    elif profiles -P | egrep -q $found_profile2; 
    	echo "Found installed profile: $found_profile2"
    	exit 0
    	echo "Did not findProfile $1"found_profile1 fior shift$found_profile2 doneNOT FOUND"
    	exit 1

    Activation Script:

    The Fileset also includes this script which makes the installation silent for TeamViewer Host and hides the Wizard that would normally appear after the install. 

    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 script will uninstall TeamViewer Host

    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.

    ↓ macOS
    FileWave Download.png
    ↓ macOS
    FileWave Download.png

    Associatewhen/if the Fileset Groupis removed from the Client.


    Optional TeamViewer Host Configurations

    There are a few options that can be set, depending on your needs. In this example, we're locking the TeamViewer Options to devices.only Abe requirementaccessed by users with Administrator rights and removing the password so the client can only be accessed by FileWave Admin users.

    The script ensuresbelow changes the TeamviewerTeamViewer ProfilePreferences plist (com.teamviewer.teamviewer.preferences.plist) and restarts the TeamViewer service to apply the changes. 

    If you have already deployed TeamViewer Host to your devices, you can send this script in it's own empty Fileset. If you're just getting started with your TeamViewer deployment, you can add this script to the provided Fileset as a Postflight Script. Adding it as a Postflight script will ensure the script is executed after TeamViewer Host is installed before installingand the TeamViewer.plist created.

    sleep 30
    #Security_PasswordStrength will change the password strength to None, only allowing known connections from Admin
    /usr/libexec/PlistBuddy -c "Add :Security_PasswordStrength integer 3" /Library/Preferences/com.teamviewer.teamviewer.preferences.plist
    #Security_Adminrights being true will only allow Administrators to open TV Preferences
    /usr/libexec/PlistBuddy -c "Add :Security_Adminrights integer 1" /Library/Preferences/com.teamviewer.teamviewer.preferences.plist
    sleep 15
    teamviewer=$(ps -xa | grep -i "TeamViewer_Service" | grep -v grep | awk {'print $1'})
    kill -9 $teamviewer
    exit 0


    TeamViewer also provides guidance here on mass deployment that may be helpful: