I don’t know why, but macOS doesn’t seem to have an automatic ability to shut down the WiFi adapter when an Ethernet connection is detected. It’s a simple thing that can cause several problems, especially if you are in an environment where you may need to authenticate to a network or access VPN services.
It may be possible to manage locations and some additional tools, but I didn’t want something that required retooling every time I used my system in a new location, so I decided to write a simple script, using built-in tools for everything except the execution of the script.
This script will check for both an active WiFi connection and also an active Ethernet connection. If it detects both, it will shutdown the WiFi interface and display a notification, via macOS notifications, that it has done this. I haven’t tested this on previous versions of macOS (only Mojave), though if the rest of the commands work, the script might function by simply removing the statement that generates a notification.