Po zmianie we właściwościach IPv4 adresy DNS zostają zastąpione po rozłączeniu i ponownym połączeniu. Wina Windowsa 7?
Napisałem sobie skrypt, który zmienia adresy serwerów DNS we wszystkich połączeniach w systemie Windows 7 ale nie ma nawet opcji żeby go wykonać np. automatycznie po połączeniu. (wymaga uprawnień administratora)
Kod: Zaznacz cały
@ECHO OFF
SET DNS_1=208.67.222.222
SET DNS_2=208.67.220.220
::
::To mozna zmienic jezeli korzystamy z innego jezyka niz polski
::
SET szukaj_nazwy=Nazwa
::
:: Get ADMIN Privs
::http://fixitwizkid.com/threads/start-batch-file-as-administrator.6157/#post-42363
::
:-------------------------------------
mkdir "%windir%\BatchGotAdmin"
if '%errorlevel%' == '0' (
rmdir "%windir%\BatchGotAdmin" & goto gotAdmin
) else ( goto UACPrompt )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute %0, "%1", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:-------------------------------------
::
:: End Get ADMIN Privs
::
:: Place extra code here
FOR /F "skip=3 tokens=3,* delims= " %%i IN ('netsh interface show interface') DO (
echo ##################%%j##################
netsh interface ip set dnsservers name="%%j" source=static address=none register=primary validate=no
netsh interface ip set dnsservers name="%%j" source=static address=%DNS_1% register=primary validate=no
netsh interface ip add dnsservers name="%%j" address=%DNS_2% index=2 validate=no
)
FOR /F "tokens=1,* delims=: " %%i IN ('netsh mbn show interfaces ^| findstr /R /C:"^[ ]*%szukaj_nazwy%[ ]*:.*"') DO (
echo ##################%%j##################
netsh interface ip set dnsservers name="%%j" source=static address=none register=primary validate=no
netsh interface ip set dnsservers name="%%j" source=static address=%DNS_1% register=primary validate=no
netsh interface ip add dnsservers name="%%j" address=%DNS_2% index=2 validate=no
)
pause