1

Тема: AHK:Смена DNS сервера

Доброго времени суток. Подскажите как можно сменить DNS сервер с помощью горячей клавиши не заходя в настройки IPv4. Вот мои действующие DNS серверы "77.88.8.8"  "77.88.8.1" . А надо изменить на эти "77.88.8.7"   "77.88.8.3"  -(фильтрация опасных сайтов и сайтов для взрослых). Помогите пожалуйста.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

2 (изменено: Alectric, 2015-01-26 21:41:42)

Re: AHK:Смена DNS сервера

Не знаю поможет ли, но нашел этот путь в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\{цыфры}\NameServer
Скорее всего нужно будет как-то "перезапустить" устройство, в смысле отключить и включить.

И еще есть такая дллка - tcpipcfg.dl.
Win 7.

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3

Re: AHK:Смена DNS сервера

Вроде уже есть подобное: AHK: Настройки сетевого адаптера.

4

Re: AHK:Смена DNS сервера

Честно говоря ничего не понял из того материала который вы предоставили . Не могли бы вы накидать код , в первом посту я предоставил все параметры которые нужны. Помогите пожалуйста , просто ребёнок подрос вот и лазает куда не надо.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

5

Re: AHK:Смена DNS сервера

С WMI мне ещё надо самому разбираться. Могу дать пример с netsh.

Вот этот код работает, если запускать от имени администратора. Впишите там имя своего соединения вместо Подключения по локальной сети.


cmd_1 = netsh.exe interface ip set dnsservers "Подключение по локальной сети" source=static address=77.88.8.7 validate=no
cmd_2 = netsh.exe interface ip add dnsservers "Подключение по локальной сети" address=77.88.8.3  index=2 validate=no
RunWait, %cmd_1%,, Hide
If( ErrorLevel != 0 ) {
    MsgBox, Не удалось задать первый DNS-сервер.
    Return
}
RunWait, %cmd_2%,, Hide
If( ErrorLevel != 0 ) {
    MsgBox, Не удалось добавить второй DNS-сервер.
    Return
}
MsgBox, Готово.

6

Re: AHK:Смена DNS сервера

Не знаю что случилось но больше эти dns серверы на ПК не работают 77.88.8.7   и   77.88.8.3 .  Вчера на андроиде через программу прописал вышеуказанные dns серверы , всё работает . А вот с ПК не хочет , даже когда прописываешь вручную.  Хотя раньше я вручную прописывал и всё работало. Подскажите что случилось.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

7

Re: AHK:Смена DNS сервера

Не знаю, у меня они оба на ПК работают.

8

Re: AHK:Смена DNS сервера

YMP пишет:

Не знаю, у меня они оба на ПК работают.

Извините YMP всё работает , это в проводном интернете подставил значения и всё а тут надо роутер перезапустить, вот я  тугой. А вы не знаете есть какой нибудь код чтобы можно было перезапустить роутер.

OS: Win11x64, AutoHotkey v1.1.25.01 (Unicode 64-bit).

9

Re: AHK:Смена DNS сервера

Можно. Например через telnet.

10

Re: AHK:Смена DNS сервера

Как это сделать из скрипта?

11

Re: AHK:Смена DNS сервера

Наверное как-нибудь так:

objShell := ComObjCreate("WScript.Shell")
objExec := objShell.Exec(ComSpec " /C telnet RouterIp & login & password")

12

Re: AHK:Смена DNS сервера

Не похоже, чтобы пароль так можно было передать.


telnet [-a][-e Символ][-f Файл_входа][-l Имя][-t Тип][Узел [Порт]]
 -l      Имя пользователя для входа в удаленную систему при условии, что
         поддерживается параметр TELNET ENVIRON.
 -a      Попытка автоматического входа в систему. Как и ключ -l, но использует
         текущее имя пользователя, под которым выполнен вход в систему.
 -e      Служебный символ переключения режима ввода в окне telnet-клиента.
 -f      Имя файла со стороны клиента для выполнения входа в систему.
 -t      Тип telnet-терминала.
         Поддерживаются только 4 типа терминалов: vt100, vt52, ansi и vtnt.
 Узел    Имя узла или IP-адрес удаленного компьютера, к которому выполняется
         подключение.
 Порт    Номер порта или имя службы.

13

Re: AHK:Смена DNS сервера

Да, действительно, я поспешил.
Там либо с ControlSend либо с помощью Telnet Scriptig Tool написать сценарий.
Можно еще автоматизировать через IE.
А легче всего наверное с помощью wget.