Link to home
Start Free TrialLog in
Avatar of cefranklin
cefranklinFlag for United States of America

asked on

GPO WINS Script not Working

I have a simple script here that seems to execute but, doesn't change the DNS or WINS on the computer it runs on.  I have tried running it manually and from GPO.  Can I get a second set of eyes on this?

Please note that this is the third itteration of the script that I have found on the net.  None of them work!

I am trying to run these on my local computer as well to see if anything changes.  I am the domain admin and am logged in as such so, there shouldn't be any permission issues here.

I have even debugged the script to make sure the values are correct and that the .SetWINSServer  function is available and the right adapter is being worked on (I only have 1 adapter on this machine).

I am running Windows XP with all updates and service packs and my AD server is Windows 2003 Enterprise R2.


On Error Resume Next

Const STR_NEWDNS1 = "10.0.1.35" 
Const STR_NEWDNS2 = "0.0.0.0"
Const STR_NEWWINS1= "10.0.1.35" 
Const STR_NEWWINS2= "0.0.0.0"

SetDnsWins		

Sub SetDnsWins
	strWinMgmt = "winmgmts:{impersonationLevel=impersonate}!//."
	Set objNICs = GetObject( strWinMgmt ).InstancesOf( "Win32_NetworkAdapterConfiguration" )

	For Each objNIC In objNICs
		If objNIC.IPEnabled Then
			objNIC.SetWINSServer STR_NEWWINS1,STR_NEWWINS2
			objNIC.SetDNSServerSearchOrder Array(STR_NEWDNS1,STR_NEWDNS2)
		End If
	Next

End Sub

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of xchange
xchange
Flag of Greece image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
...or change:
Const STR_NEWWINS2= "0.0.0.0"
to:
Const STR_NEWWINS2= ""
I tested successfully with WINS, you may have to change:
Const STR_NEWDNS2 = "0.0.0.0"
to:
Const STR_NEWDNS2 = ""

See how it goes and let me know, OK?
Give this a shot.

Change the IPs as needed.  

To run in a GPO change the line:
              strComputer = InputBox("Enter Computer Name","Enter Target")
To be:
              strComputer = "."


Also if you only have one WINS and DNS server let me know, there are additional tweaks to make and I will be happy to make them for you.
'==========================================================================
'
' NAME: Set_DNS_WINS_Remotely.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL   : http://www.thespidersparlor.com    
' COPYRIGHT (C) 2009 All rights reserved
' DATE  : 4/24/2009
'
' COMMENT: 
'
'
'    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
'    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
'    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
'    PARTICULAR PURPOSE.
'
'    IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE SUPPLIERS 
'    BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
'    DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
'    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
'    ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
'    OF THIS CODE OR INFORMATION.
'==========================================================================
On Error Resume Next
strComputer = InputBox("Enter Computer Name","Enter Target")  

strWins1 = "192.168.20.150"
strWins2 = "192.168.20.41"
strDNS1 = "192.168.20.150"
strDNS2 = "192.168.20.41"
 
Set objWMIService = GetObject("winmgmts:" _  
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
  
Set colNetCards = objWMIService.ExecQuery _  
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled =  True")  
  
For Each objNetCard in colNetCards  
  arrDNSServers = Array(strDNS1, strDNS2)  
  objNetCard.SetDNSServerSearchOrder(arrDNSServers)  
  intSetWINS = objNetCard.SetWINSServer(strWINS1, strWINS2)
  If intSetWINSServer = 0 Then
    WScript.Echo "Success! WINS & DNS servers configured."
  ElseIf intSetWINSServer = 1 Then
    WScript.Echo "WINS  & DNS servers configured, please reboot."
  Else
    WScript.Echo "Error!! Unable to configure WINS & DNS servers."
  End If
Next

Open in new window

Avatar of cefranklin

ASKER

Will test Monday thanks for the replies.
Alright, I thought I tried that but, since it works now, I guess I will chalk it up to me being an idiot :P