@Chuey You could also have a look at the AD Dynamic Data:
Everything:
defaults read /Library/Preferences/OpenDirectory/DynamicData/Active Directory/JIGSAWSYSTEMS "last used servers"
Just the last used Global Catalog server:
/usr/libexec/PlistBuddy -c "print :last used servers:/Active Directory/JIGSAWSYSTEMS/Global Catalog:host:" /Library/Preferences/OpenDirectory/DynamicData/Active Directory/JIGSAWSYSTEMS.plist
Just the last used DC:
/usr/libexec/PlistBuddy -c "print :last used servers:/Active Directory/JIGSAWSYSTEMS/jigsawsystems.internal:host:" /Library/Preferences/OpenDirectory/DynamicData/Active Directory/JIGSAWSYSTEMS.plist
Should output something like:
{
"/Active Directory/JIGSAWSYSTEMS/Global Catalog" = {
Priority = 0;
Weight = 100;
flags = 1;
host = "xxx-dc-01.jigsawsystems.internal";
port = 3268;
};
"/Active Directory/JIGSAWSYSTEMS/jigsawsystems.internal" = {
Priority = 0;
Weight = 100;
flags = 1;
host = "xxx.jigsawsystems.internal";
port = 389;
};
}
xxx-dc-01.jigsawsystems.internal
xxx.jigsawsystems.internal
Basic EA would be:
#!/bin/sh
#Check AD Dynamic Data
if [ -f "/Library/Preferences/OpenDirectory/DynamicData/Active Directory/JIGSAWSYSTEMS.plist" ]; then
result=`/usr/libexec/PlistBuddy -c "print :last used servers:/Active Directory/JIGSAWSYSTEMS/jigsawsystems.internal:host:" /Library/Preferences/OpenDirectory/DynamicData/Active Directory/JIGSAWSYSTEMS.plist`
echo "<result>$result</result>"
else
echo "<result>Dynamic Data Missing</result>"
fi
fi