Deploying custom TeamViewer host silently with password


Has anyone aver find a clue on how to silently deploy a custom TeamViewer Host ?

The main problem is the fact that after it is installed, the hosts asks to create the password for unattended access.
And I can't find a way to silently set this up..


New Contributor III

Also Looking at this now. I am trying to deploy via policy. So far I put it through PPPC for accessibility and full disk access.

Update: Got it working in which accessibly and full disk access is auto selected. User will still need to go into the setting and approve screen recording.

Still looking for a way around you have mentioned above.

New Contributor II

I am also looking for a solution to this...


How did you manage to push the screen recording approbation since it can't be set to 'allow' by other than the end user ?
And how did you push the password as well ? I haven't found any configuration file or so. I even tried snapshoting before and check the changes after updating the password..

New Contributor III


Never was able to psuh the screen recording. Just accssibility and full disc access through PPPC. User still needs to enable screen recording but they can do this without admin rights.

Also, found a way to avoid the unattended access to appear. You will need to enable "Easy Access"
There is a scrip you can run in jamf that can allow this.


Please let me know if any of you are able to find a solution for this one and for enabling Screen Recording via. script, policy, or PPC. @tjosey which scrip allows Easy Access?


You can't enable Screen Recording via script or profile, has to be the end user.

After you have installed TeamViewer Host, use the Grant Easy Access script below, replace XXXXXXXXXXX with your API token from TeamViewer. I use the ComputerName for the name of the host within TeamViewer.


alias=`scutil --get ComputerName`

/Applications/ -api-token "XXXXXXXXXXX" -grant-easy-access -alias "$alias"

exit 0

New Contributor III

@rcole sorry fo the late response. Had some things going on. For macs you can't automate screen recording (Hope this changes in the future) Screen recording has to be enabled by the user themself. I use the following script when installing but you will need to tweek it based on your org


Download and Install custom host

echo "Downloading and Installing custom host"
cd /tmp
cat << EOF > choices.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">
<array> <dict> <key>attributeSetting</key> <integer>1</integer> <key>choiceAttribute</key> <string>selected</string> <key>choiceIdentifier</key> <string>com.teamviewer.teamviewerhostSilentInstaller</string> </dict>

curl -LO installer -applyChoiceChangesXML choices.xml -pkg Install%20TeamViewerHost-idc69am8j5.pkg -target /

echo "10 seconds wait"

sleep 10s


echo "Running the account assignment"
computername=$(hostname -s)
sudo /Applications/ -api-token XXX -alias $computername -group "(Group)" -grant-easy-access

New Contributor III

So I have both the "easy access" script running as a post install script via policy, and also am using the "choices.xml" file to skip through the install dialogs. Issues I'm still having:

1. After the installation, I am still seeing the "Access Summary" screen pop up. Not sure if there is any way to suppress that.
2. After rebooting, Teamviewer will often pop up with the post installation dialogs. It appears to happen randomly... 

Any help would be appreciated!

Did you ever solve this? I'm struggling with the same and the "Review System Access" popup is all that's keeping me from deploying TV host right now...

Sorry for the delay... I ended up using tjosey's script above to get the post installation dialog to go away (although it still pops up after and says that the machine will be controlled by our support account). For the Access Summary, I was able to figure out the pref key that controls it and just made a config profile to set it as already having been shown:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">

Great thanks! I'll add this to our config and try it out.