Hey guys and gals we have a 100basetx Full-Duplex setup here and cannot leave the adapters on automatic. I concocted a pretty amateur script full of if statements; it works but I am sure someone can help me clean it up with a case statement or something like that.
#!/bin/sh
# Declaring Variables
en=`/usr/sbin/networksetup -listallnetworkservices | grep -x "Ethernet"`
en1=`/usr/sbin/networksetup -listallnetworkservices | grep -x "Ethernet 1"`
en2=`/usr/sbin/networksetup -listallnetworkservices | grep -x "Ethernet 2"`
thunderbolt=`/usr/sbin/networksetup -listallnetworkservices | grep -x "Thunderbolt Ethernet"`
usb=`/usr/sbin/networksetup -listallnetworkservices | grep -x "USB Ethernet"`
display=`/usr/sbin/networksetup -listallnetworkservices | grep -x "Display Ethernet"`
# Setting Devices
# Setting Built-in Ethernet
if [ "$en" = "Ethernet" ]; then
/usr/sbin/networksetup -setMedia "Ethernet" 100baseTX full-duplex
echo "Built in Ethernet Completed"
elif [ "$en" = "" ]; then
echo "No Devices Found"
fi
# Setting Built-in Ethernet 1
if [ "$en1" = "Ethernet" ]; then
/usr/sbin/networksetup -setMedia "Ethernet 1" 100baseTX full-duplex
echo "Built in Ethernet 1 Completed"
elif [ "$en1" = "" ]; then
echo "No Devices Found"
fi
# Setting Built-in Ethernet 2
if [ "$en2" = "Ethernet" ]; then
/usr/sbin/networksetup -setMedia "Ethernet 2" 100baseTX full-duplex
echo "Built in Ethernet 2 Completed"
elif [ "$en2" = "" ]; then
echo "No Devices Found"
fi
# Setting Thunderbolt Ethernet
if [ "$thunderbolt" = "Thunderbolt Ethernet" ]; then
/usr/sbin/networksetup -setMedia "Thunderbolt Ethernet" 100baseTX full-duplex
echo "Thunderbolt Ethernet Completed"
elif [ "$thunderbolt" = "" ]; then
echo "No Devices Found"
fi
# Setting USB Ethernet
if [ "$usb" = "USB Ethernet" ]; then
/usr/sbin/networksetup -setMedia "USB Ethernet" 100baseTX full-duplex
echo "USB Ethernet Completed"
elif [ "$usb" = "" ]; then
echo "No Devices Found"
fi
# Setting Display Ethernet
if [ "$display" = "Display Ethernet" ]; then
/usr/sbin/networksetup -setMedia "Display Ethernet" 100baseTX full-duplex
echo "Display Ethernet Completed"
elif [ "$display" = "" ]; then
echo "No Devices Found"
fi
Basically what I am trying to do is set all the adapters to 100basetx Full-Duplex. What would be even cooler would be a way to detect which adapter is currently active that way if someone takes their laptop home they can be at auto and when they get back to the office and login it could reset back to 100basetx Full-Duplex.
Any opinions welcomed!