We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

How do I change DNS Primary and Secondary Server IP addresses with WMI

Scott Lewis
Scott Lewis asked
on
Medium Priority
1,087 Views
Last Modified: 2012-05-07
We are installing new domain controllers with new static IP addresses.  I will therefore have to change the entries for the Primary and Secondary DNS Server entries in the TCPIP properties of the NIC card for each of our Windows XP workstations.  How can I do this with a WMI command for a range of IP addresses?  Thanks in advance!
Comment
Watch Question

Commented:
How many machines do you have to change this on?  It might be time to think about implementing a DHCP server.

At the same time, this might help:
http://www.serverwatch.com/tutorials/article.php/1556311
CERTIFIED EXPERT

Commented:
Hmmm are you running DHCP? If so you can set your primary and secondary DNS server with options.
It would be option 6 for DNS servers.

http://technet.microsoft.com/en-us/library/cc958929.aspx
CERTIFIED EXPERT

Commented:
Real quick I just took a screenshot of my DHCP server options. I blanked out our DNS servers but you get the idea.
1.jpg
CERTIFIED EXPERT

Commented:
And here is a little VB script to do the same with WMI. Change the addresses to match your own.
' From the book "Windows Server 2003 Networking Recipes"
 
' This code will configure the local computer
'   with two DNS servers: 192.168.1.151 and 192.168.1.152
' ------ SCRIPT CONFIGURATION ------
strComputer = "."
arrDNSServers = Array("192.168.1.151", "192.168.1.152")
' --------- END CONFIGURATION ------
 
Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set Nics = objWMIService.ExecQuery _
  ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
 
For Each Nic In Nics
  intSetDNSServers = Nic.SetDNSServerSearchOrder(arrDNSServers)
  If intSetDNSServers = 0 Then
    WScript.Echo " DNS Servers set!"
  Else
    WScript.Echo " Error setting DNS server info."
  End If
Next

Open in new window

Scott LewisInformation Security Officer

Author

Commented:
We run all Static IP addresses throughut our domain....do these options still apply?

Commented:
The link I sent you or VB script posted by xxdcmast do.  You should really look into DHCP if you have many machines.  It provides a lot of flexibility in situations like this.  
CERTIFIED EXPERT

Commented:
The VB script I put up there will work for you then. But I would definitley say that going with a DHCP server is your best option. It isnt really that difficult to setup probably under an hour maybe a little more if its your first time. No more tracking static addresses, no more possibility of duplicate IP conflicts etc. Add in the server and scope options and you are looking good.

Step by step if you do decide to do a DHCP server install.
http://www.windowsnetworking.com/articles_tutorials/DHCP_Server_Windows_2003.html 
Scott LewisInformation Security Officer

Author

Commented:
In your script....I put the new IP addresses for our DNS servers in these two places...correct?
with two DNS servers: 192.168.1.151 and 192.168.1.152 and here arrDNSServers = Array("192.168.1.151", "192.168.1.152")

Where do I put the range of IP addresses for the affected XP workstations or this is to go in the logon script??

If it goes in the logon script....how do I call it or insert it into our existing logon script?  I have never done this.  Sorry for such a dumb question....

We are actually looking at DHCP....just a lot going on right now and don't want to throw another thing into the mix.

Scott LewisInformation Security Officer

Author

Commented:
xxdcmast: ----->  Would you be so kind to answer the question above.  Thanks so much!
CERTIFIED EXPERT
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
CERTIFIED EXPERT

Commented:
What did you decide to use?
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.