828123 发表于 2010-7-18 20:05:46

修改DNS的批处理

@echo off
::判断本地连接的名字 赋值给变量a
for /f "tokens=3,4 delims== " %%i in ('ipconfig ^|findstr /r "本"') do echo %%i %%j >DNS.txt
for /f "tokens=1 delims==:" %%d in (DNS.txt) do set a=%%d
echo 开始更改主dns
netsh interface ip set dns name="%a%" source=static addr=59.51.78.211
echo 完成
echo 开始更改副dns
netsh interface ip add dns "%a%" 222.246.129.81 index=2
del DNS.txt
exit

自己把上面的DNS修改成自己的即可~~~

admin 发表于 2010-7-20 11:57:18

netsh interface ip set dns "本地连接" static 8.8.8.8
netsh interface ip set dns "本地连接 2" static 8.8.8.8
netsh interface ip set dns "本地连接 3" static 8.8.8.8
netsh interface ip set dns "本地连接 4" static 8.8.8.8
另存为bat文件,做开机命令就行了,,8。8。8。8   可以改成你要的DNS

天若有情 发表于 2010-7-20 14:05:09

收下了。

menglei5139 发表于 2010-7-23 16:05:50

为什么不选择用VBS呢?静默的状态不好些吗?

admin 发表于 2010-7-23 16:18:31

回复 4# menglei5139


    这个bat可以放在网维那个run   bat里面。。。谢谢。,。。就不会弹出黑框框~~!

yaaisinile 发表于 2010-7-24 12:03:40

Set objWMIService=GetObject("winmgmts:\\.\root\cimv2")
    Set colNetAdapters=objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
   
    Set argsNamed = WScript.Arguments.Named
    If argsNamed.Exists("IP") Then
      arrIPAddress = Array(argsNamed.Item("IP"))
    End If
    If argsNamed.Exists("掩码") Then
      arrSubnetMask = Array(argsNamed.Item("掩码"))
    End If
    If argsNamed.Exists("网关") Then
      arrGateway = Array(argsNamed.Item("网关"))
    End If
    If argsNamed.Exists("DNS") Then
      arrDNS = Split(argsNamed.Item("DNS"),",",-1,1)
    End If

    For Each objNetAdapter in colNetAdapters
      If Isarray(arrIPAddress) And Isarray(arrSubnetMask)Then objNetAdapter.EnableStatic arrIPAddress,arrSubnetMask
      If Isarray(arrGateway) Then objNetAdapter.SetGateways arrGateway
      If Isarray(arrDNS) Then objNetAdapter.SetDNSServerSearchOrder arrDNS
    Next

上面的代码保存为 VBS格式,比如:修改IP网关DNS.vbs
使用方法:

只修改IP:(修改IP时必须加入修改子网掩码参数,否则不能修改。)
修改IP网关DNS.vbs /IP:192.168.3.249 /掩码:255.255.252.0

只修改网关:
修改IP网关DNS.vbs /网关:192.168.0.1

只修改DNS:
修改IP网关DNS.vbs /DNS:192.168.0.1,202.96.168.86,202.96.168.166

同时修改IP、网关:
修改IP网关DNS.vbs /IP:192.168.3.249 /掩码:255.255.252.0 /网关:192.168.0.1

同时修改IP、DNS:
修改IP网关DNS.vbs /IP:192.168.3.249 /掩码:255.255.252.0 /DNS:192.168.0.1,202.96.168.86,202.96.168.166

同时修改网关、DNS:
修改IP网关DNS.vbs /网关:192.168.0.1 /DNS:192.168.0.1,202.96.168.86,202.96.168.166

同时修改IP、网关、DNS:
修改IP网关DNS.vbs /IP:192.168.3.249 /掩码:255.255.252.0 /网关:192.168.0.1 /DNS:192.168.0.1,202.96.168.86,202.96.168.166

批处理调用:
call \\server\bat$\修改IP网关DNS.vbs /各种参数

admin 发表于 2011-1-4 00:52:42

Const T_GATEWAY = "10.20.1.248" '网关
Const T_NEWDNS1 = "222.246.129.81" 'DNS1
Const T_NEWDNS2 = "59.51.78.211" 'DNS2
strWinMgmt="winmgmts:{impersonationLevel=impersonate}"
Set NICS = GetObject( strWinMgmt ).InstancesOf("Win32_NetworkAdapterConfiguration")
For Each NIC In NICS
If NIC.IPEnabled Then
NIC.SetDNSServerSearchOrder Array(T_NEWDNS1,T_NEWDNS2)
NIC.SetGateways Array(T_GATEWAY)
End If
Next

发布一个VBS改DNS的,。。
页: [1]
查看完整版本: 修改DNS的批处理