Seems like TeamViewer has stopped looking in Managed Preferences so needs to put in Users Preferences now.
Since we ether use DEPNotify ( which checks if user is logged in before running the Policy ) or Self Service when provisioning the app this works for us. Don't know if it's the best way but since no one replied I hope it helps someone.
#!/bin/zsh
# Get the currently logged in user
currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' )
# Get uid logged in user
uid=$(id -u "${currentUser}")
runAsUser() {
if [[ "${currentUser}" != "loginwindow" ]]; then
launchctl asuser "$uid" sudo -u "${currentUser}" "$@"
else
echo "no user logged in"
exit 1
fi
}
runAsUser defaults write com.teamviewer.teamviewer.preferences.Machine "EulaAcceptedQS" -integer "1"
exit 0