Scripting AirPort base station administration

I’m wondering if it is possible to script administering AirPort base stations. I tried looking around & I couldn’t find anything specific (though I’m guessing that the answer is no, esp. since AirPort Admin Utility isn’t scriptable).

Anyway, here’s my problem. The office of a client has set up a collection of AirPort base stations and they all use hardware access controls (ie. MAC address ACLs). That means that whenever a new machine needs to access the wireless network, I need to go into the configuration of each base station (there are 6 of them) & manually add its MAC address to the ACL. Needless to say, it’s a pain & it would be so much better to be able to automate it.

Is there any way to do this? It seems like a fairly obvious thing to me… Thanks in advance.

Tim King
timothyking@mac.com

Hi Tim,

the new Airport Utility is very poorly scriptable, but it is.
Nevertheless you can only do things with GUI scripting, which is a lot of pain.

To see, how it looks like, here is an example (assuming new Airport Utility.app), which selects the first base station in the list,
types in the password and selects the tab Access Control (I stopped here ;))
I think, it’s possible to enter all data with GUI scripting, but it’s a bunch of work

property pass_word : "¢¢¢¢¢¢"

activate application "AirPort Utility"
tell application "System Events"
	tell process "AirPort Utility"
		tell window 1
			set value of attribute "AXSelected" of row 1 of table 1 of scroll area 1 to true
			keystroke "l" using command down
			repeat until exists sheet 1
				delay 0.5
			end repeat
			tell sheet 1
				keystroke pass_word
				delay 0.5
				click button "OK"
			end tell
			delay 1
			tell tab group 1
				repeat until exists radio button "Access Control"
					delay 0.5
				end repeat
				click radio button "Access Control"
			end tell
		end tell
	end tell
end tell