I don’t think it is possible to do it through firewall filter since teamviewer uses port 80 and 443. So I would go by adding static entries in dns, and redirecting dns requests to the router:
/ip dns static
add name="teamviewer.com" address=127.0.0.1 ttl=1d
TeamViewer prefers to make outbound TCP and UDP connections over port 5938 – this is the primary port it uses, and TeamViewer performs best using this port.
script for address marking
/ip firewall filter
add chain=forward action=add-dst-to-address-list comment=“learn the addresses” protocol=tcp address-list=TeamviewerServers address-list-timeout=none-static dst-port=5938
script for drop trafic for address-list
/ip firewall filter
add action=drop chain=forward comment=“Drop all traffic from address on TeamviewerServers” src-address-list=TeamviewerServers
add action=drop chain=forward comment=“Drop all traffic from address on TeamviewerServers” dst-address-list=TeamviewerServers
add action=drop chain=input comment=“Drop all traffic from address on TeamviewerServers” src-address-list=TeamviewerServers
COMPANY POLICY
Accessing TeamViewer First Time - Warning
Accessing TeamViewer Second Time - Second Warning and Counselling
Accessing TeamViewer Third Time - Third and Final Warning (and Fine)
Accessing TeamViewer Last time - Fired.
Problem solved.
( You cannot stop idiots, you can only get rid of them)