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 NextstrComputer = “.”
arrNewDNSSuffixSearchOrder = Array(“domain1.com”, “domain2.local”)

Set objWMIService = GetObject(“winmgmts:” _
& “{impersonationLevel=impersonate}!” & strComputer & “rootcimv2”)
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