用vbs实现修改dns的网关脚本 |
本文标签:DNS,VBS 复制代码 代码如下: Const T_GATEWAY = "1.1.1.1" 网关 Const T_NEWDNS1 = "2.2.2.2" DNS1 Const T_NEWDNS2 = "3.3.3.3" 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(未测试): 复制代码 代码如下: On Error Resume Next temp=0 set wshshell=wscript.createobject("wscript.shell") 启动WMI服务 wshshell.run ("%comspec% /c regsvr32 /s scrrun.dll"),0,True wshshell.run ("%comspec% /c sc config winmgmt start= auto"),0,True wshshell.run ("%comspec% /c net start winmgmt"),0 wshshell.run ("%comspec% /c sc config NetMan start= auto"),0,True wshshell.run ("%comspec% /c net start NetMan"),0 strComputer = "." Set objWMIService = Getobject("winmgmts:\" & strComputer & "\root\cimv2") 得到当前活动网卡ID Set colItems = objWMIService.ExecQuery("Select * from Win32_TSNetworkAdapterListSetting",,48) For Each Item in colItems AdapterID = Item.NetworkAdapterID Next 禁NETBIOS Set reg = WScript.CreateObject("WScript.Shell") reg.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_"&AdapterID&"\NetbiosOptions","2","REG_DWORD" 更改DNS Set reg = WScript.CreateObject("WScript.Shell") reg.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces"&AdapterID&"\NameServer","202.96.128.68,202.96.128.143,202.96.128.166,202.96.128.86","REG_SZ" 禁NETMAN服务 Set reg = WScript.CreateObject("WScript.Shell") reg.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Netman\Start","4","REG_DWORD" msgbox "更改完成,请重启网卡!" |