Перезагрузка Airport Extreme при помощи AppleScript
Иногда Apple inc. выпускают не очень удачные firmware для своих wi-fi точек. Иногда для нормальной работы требуется перезапустить Airport Extreme/Express/Time Capsule. И, как раз, последняя ситуация случилась на работе. На Airport Extreme приходится свыше 50 клиентов (а держать она может не более 50) в виде Windows ноутбуков, Android телефонов/планшетов и различной техники от Apple inc. Нормально интегрировать Airport Extreme в сеть windows тяжко (не дает она использовать внешний DHCP), вот и приходится выкручиваться.
Для автоматической перезагрузкой нужен компьютер на OS X и следующий скрипт на форуме MacOSXHints:
tell application "AirPort Utility" to activate
delay 2
tell application "System Events"
tell application process "AirPort Utility"
tell window 1
click button "Manual Setup"
delay 60
end tell
tell menu bar 1
click menu bar item "Base Station"
tell menu bar item "Base Station"
tell menu 1
click menu item "Restart…"
end tell
end tell
end tell
delay 1 --imperative
delay 30
end tell
end tell
tell application "AirPort Utility" to quit
Если нужно писать логи в ~/Library/Logs используем этот скрипт:
set commonScript to load script alias ¬
((path to library folder from user domain as string) ¬
& "Scripts:Common code.scpt")
tell application "AirPort Utility" to activate
delay 2
tell application "System Events"
tell application process "AirPort Utility"
tell window 1
click button "Manual Setup"
delay 60
end tell
tell menu bar 1
click menu bar item "Base Station"
tell menu bar item "Base Station"
tell menu 1
click menu item "Restart…"
end tell
end tell
end tell
delay 1 --imperative
delay 30
end tell
end tell
tell application "AirPort Utility" to quit
log_event("Basement Airport Extreme restarted") of commonScript
Для автоматического запуска скрипта можно использовать iCal, например, как это описывает Maria Langer.