Thursday, April 8, 2010

Managing the dns suffix search order with a script

Recently I ran into an issue where I needed to use a script to change the DNS Suffix search order on multiple Windows XP machines instead of using a GPO (which is the preferred way).

Prior to running the script, this is what you would see when you went to the DNS tab on the Advanced section of the properties for TCP/IP on your network adapter.

Here is what happens after you run the script.

Below is the VBS script. You can easily use ConfigMgr to deploy the script.

On Error Resume Next
 
strComputer = "."
arrNewDNSSuffixSearchOrder = Array("domain1.com", "domain2.local")
 
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
  strDNSHostName = objNicConfig.DNSHostName
Next
 
Set objNetworkSettings = _
 objWMIService.Get("Win32_NetworkAdapterConfiguration")
intSetSuffixes = _
 objNetworkSettings.SetDNSSuffixSearchOrder(arrNewDNSSuffixSearchOrder)
 
 
Set colNicConfigs = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objNicConfig In colNicConfigs

    Next

No comments: