I want change DNS server setting on quite a few clients in a single domain env. They all have static IP setting which I can't change (can't use DHCP) so looking for a way to change settings with a script that can be applied via a system startup script setting in group policy. I have found one, copied below, that seems to work but needs user input to acknowledge all the popup windows. Can someone look over the script and tell me what I must remove or remark out to let the script just run with no user input? Or if you have something better, I would love to try it out. Just learning scripts and need an experts input. Thanks all, Peter.
VB Code:
  1. On Error Resume Next
  2.  
  3. strComputer = "."
  4. strNewDNSServer = "192.168.0.4"
  5.  
  6. Set objWMIService = GetObject("winmgmts:" _
  7. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  8. Set colNicConfigs = objWMIService.ExecQuery _
  9. ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
  10.  
  11. WScript.Echo VbCrLf & "Computer: " & strComputer
  12.  
  13. For Each objNicConfig In colNicConfigs
  14. intNewArraySize = 0
  15. WScript.Echo VbCrLf & " Network Adapter " & objNicConfig.Index
  16. arrDNSServerSearchOrder = objNicConfig.DNSServerSearchOrder
  17. WScript.Echo " DNS Server Search Order - Before:"
  18. If Not IsNull(arrDNSServerSearchOrder) Then
  19. For Each strDNSServer In arrDNSServerSearchOrder
  20. WScript.Echo " " & strDNSServer
  21. Next
  22. End If
  23. WScript.Echo " Adding " & strNewDNSServer & " to end of " & _
  24. "DNS search order."
  25. intNewArraySize = UBound(arrDNSServerSearchOrder) + 1
  26. ReDim Preserve arrDNSServerSearchOrder(intNewArraySize)
  27. arrDNSServerSearchOrder(intNewArraySize) = strNewDNSServer
  28. intSetDNS = _
  29. objNicConfig.SetDNSServerSearchOrder(arrDNSServerS earchOrder)
  30. If intSetDNS = 0 Then
  31. WScript.Echo " Added " & strNewDNSServer & _
  32. " to end of DNS search order."
  33. Else
  34. WScript.Echo " Unable to change DNS server search order."
  35. End If
  36. Next
  37.  
  38. WScript.Echo VbCrLf & String(80, "-")
  39.  
  40. Set colNicConfigs = objWMIService.ExecQuery _
  41. ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
  42.  
  43. For Each objNicConfig In colNicConfigs
  44. WScript.Echo VbCrLf & " Network Adapter " & objNicConfig.Index
  45. WScript.Echo " DNS Server Search Order - After:"
  46. If Not IsNull(objNicConfig.DNSServerSearchOrder) Then
  47. For Each strDNSServer In objNicConfig.DNSServerSearchOrder
  48. WScript.Echo " " & strDNSServer
  49. Next
  50. End If
  51. Next




Edit: Added [vbcode][/vbcode] tags for clairty. - Hack