修改DNS的Linux脚本,用于修改 DNS IP 地址的 VB Shell 脚本

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

' This script changes the DNS servers for a network device in Windows

' to a defined IP or deletes them and makes it the default automatic

' Test if in admin mode by detecting 'elevated' in the command line that launched this script

' WScript is basically a THIS script object

If WScript.Arguments.Named.Exists("elevated") = False Then

'Launch this script again as administrator

CreateObject _

("Shell.Application").ShellExecute _

"wscript.exe","""" & WScript.ScriptFullName & """ /elevated","","runas",1

WScript.Quit

Else

'Change the working directory from the system32 folder back to the script's folder.

Set oShell = CreateObject("WScript.Shell")

oShell.CurrentDirectory = CreateObject _

("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)

'MsgBox "Now running with elevated permissions"

End If

' Define the DNS Primary and secondary server IPs

DNSserv = "111.111.111.111,222.222.222.222"

' Ask if the DNS servers should be set or removed

iAction = MsgBox("Would you like to use DNS?",_

vbYesNoCancel+vbQuestion+vbApplicationModal,"DNS Toggle: " & DNSserv)

' Cancel was selected - quit this script

If vbCancel = iAction Then

WScript.Quit

End If

strComputer = "." ' This computer

' Get the Script shell and WMI Service objects

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set WshShell = WScript.CreateObject("WScript.Shell")

' The registry key that hold the TCP/IP parameters

Regkey = "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\"

' Enumerate all of the enabled network devices

Set IPDevSet = objWMIService.ExecQuery _

("Select SettingID from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

DNSservRead = ""

For Each IPDev in IPDevSet

' Get the current setting

DNSservRead = WshShell.RegRead _

( Regkey & IPDev.SettingID & "\NameServer")

'MsgBox "DNS Servers was set to:" & vbCrLf & DNSservRead,vbOK,"Old Status"

' if it's blank and the user chose YES set it to the DNS Server values.

' So we don't overwrite the values that are already set

If "" = DNSservRead and vbYes = iAction Then

'Combine regkey,settingID,and nameserver to create the correct registry key path

WshShell.RegWrite Regkey & IPDev.SettingID & "\NameServer",DNSserv,"REG_SZ"

' If the user selected NO to delete the DNS values this script sets

' and it's not set to those DNS values do not mess with it.

ElseIf DNSservRead = DNSServ and vbNo = iAction Then

WshShell.RegWrite Regkey & IPDev.SettingID & "\NameServer","REG_SZ"

End If

' See the new setting

'DNSservRead = WshShell.RegRead( Regkey & IPDev.SettingID & "\NameServer")

'MsgBox "DNS Servers now set to:" & vbCrLf & DNSservRead,"New Status"

Next

'Final message

szTitle = ""

szMssg = ""

If vbYes = iAction Then

szMssg = "DNS Servers now set to use:" & vbCrLf & " " & DNSserv

szTitle = "DNS.com is ON"

Else

szMssg = "DNS Servers deleted."& vbCrLf & "Now set to Automatic"

szTitle = "DNS.com is OFF"

End If

MsgBox szMssg,vbInformation,szTitle

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值