Настройка Applescript IP-адрес - PullRequest
1 голос
/ 13 ноября 2010

Я хотел автоматизировать процесс изменения своего IP-адреса с помощью apple-скрипта. Поэтому я написал скрипт, который будет делать это автоматически, но у меня проблемы с настройкой IP-адреса.

set ipAddress to "192.168.110.48"
tell application "System Preferences"
 activate
 set current pane to pane id "com.apple.preference.network"
end tell
tell application "System Events"
 tell process "System Preferences"
  click checkbox "Click the lock to make changes." of window "Network"
  tell application "System Events" to keystroke "p"
  tell application "System Events" to keystroke "a"
  tell application "System Events" to keystroke "s"
  tell application "System Events" to keystroke "s"
  tell application "System Events" to keystroke "w"
  tell application "System Events" to keystroke "o"
  tell application "System Events" to keystroke return
  click button 11 of window "Network"
  tell window "Network"
   tell sheet 1
    tell tab group 1
     click radio button "TCP/IP"


     set contents of text field 2 to ipAddress



    end tell
   end tell
  end tell



 end tell
end tell

Все выполняется нормально, кроме этого утверждения

"установить содержимое текстового поля 2 в Ipaddress "

Я получаю следующую ошибку:

error "Системные события получили ошибку: Не удается установить содержимое текстового поля 2 группа вкладок 1 листа 1 окна \ "Сеть \" процесса \ "Система Предпочтения \ "к \" 192.168.110.48 \ "." число -10006 из содержания текста поле 2 вкладки группы 1 листа 1 из окно "Сеть" процесса "Система" Настройки» Я проверил элементы пользовательского интерфейса, используя UIBrowser, поэтому я уверен, что я использую правильные элементы. В чем причина проблемы? А также можете ли вы сказать лучший способ написать то же самое?

Ответы [ 3 ]

1 голос
/ 14 ноября 2010

Альтернативным решением для изменения IP-адресов будет использование функции сетевых расположений на панели «Сеть» и использование предопределенных расположений.

Если вы нажмете на панель «Сеть» в «Системных настройках» вверху, вы увидите значоквниз меню под названием Местоположение.Щелкните по нему и выберите «Изменить местоположения» ...

Затем вы можете создать новое местоположение и настроить интерфейс, будь то Ethernet, аэропорт, FireWire, 3G-карта и т. Д. У вас может быть несколько мест для одного и того же интерфейса.Таким образом, у вас может быть локальная сеть с IP-адресом 192.168.2.2, а затем у вас может быть другой набор, равный 192.168.2.3 и т. Д.вы можете использовать AppleScript для переключения между ними.

Чтобы получить текущее сетевое местоположение в AppleScript, используйте следующий код:

set currentLocation to do shell script "networksetup -getcurrentlocation"

Чтобы выбрать новое местоположение, используйте следующий код AppleScript:

set newLocationName to "whatever location you want to choose"
do shell script "scselect " & newLocationName with administrator privileges

Используя вышеописанный метод, вы можете создавать множество предопределенных сетевых расположений и легко переключаться между ними с помощью AppleScript.Кроме того, вы можете создать случайную функцию, которая будет случайным образом выбирать из списка AppleScript, который заполнен всеми вашими местоположениями.

0 голосов
/ 12 февраля 2019

Это ошибка ключевого слова.

set contents of text field 2 to ipAddress неправильная команда

правильная команда

set value of text field 2 to ipAddress

Наслаждайтесь!

0 голосов
/ 03 сентября 2012

Используйте сценарий оболочки networksetup для ручной настройки вашего IP:

do shell script "networksetup -setmanual Ethernet 192.168.110.48 
255.55.255.0 192.168.110.1 password YOURPASSWORD with administrator privileges"

Чтобы вернуться к DHCP:

do shell script "networksetup -setdhcp Ethernet YOURPASSWORD 
with administrator privileges"

Конечно, вы можете манипулировать строкой для использования переменных и изменять «Ethernet» на любой интерфейс (например, Wi-Fi).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...