VBScript を使用して、それが実行されているマシンの DNS を識別するスクリプトがあります。探している DNS が使用されているかどうかを警告してくれます。これをさらに一歩進めて、指定された DNS が見つかった場合は、その特定の DNS を別の DNS に変更したいと考えています。基本的なアイデアと思われるスクリプトをいくつか見つけましたが、特定されたものを置き換えるとは思いません。リストの一番上にあるものだけです。
指定された DNS を識別する私の VBScript は次のとおりです。
'Bind to Shell
Set objShell = WScript.CreateObject("WScript.Shell")
'Read Servers NetbiosName
'strComputer = objShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName")
strComputer = "."
wscript.echo strComputer
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNicConfigs = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objNicConfig In colNicConfigs
If Not IsNull(objNicConfig.DNSServerSearchOrder) Then
For Each strDNSServer In objNicConfig.DNSServerSearchOrder
if strDNSServer = "8.8.8.8" Then
wscript.echo "Works!"
End if
wscript.echo strDNSServer
Next
End If
Next
明確にするために、私が助けを必要としている部分は、スクリプトが「機能」を出力する場所です。特にその DNS を別の指定された DNS に変更してほしい。
DNS を変更すると主張するコードもいくつか見つけましたが、そこに挿入すると、識別した DNS ではなく、リストの一番上に DNS を変更するだけになるのではないかと心配しています。
Set objShell = WScript.CreateObject("Wscript.Shell")
objShell.Run "netsh interface ip set address name=""Local Area Connection"" static " & strIPAddress & " " & strSubnetMask & " " & strGateway & " " & intGatewayMetric, 0, True
何か明確にできることがあれば教えてください!前もって感謝します!