• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 764
  • Last Modified:

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

0
cefranklin
Asked:
cefranklin
  • 3
  • 2
1 Solution
 
xchangeCommented:
Hi there!,

 For start, I found that it doesn't like the "0.0.0.0" address that you supplied for WINS2.
Change it to WINS1's address and all should be fine.

Check it and let me know how it goes.

Theo
0
 
xchangeCommented:
...or change:
Const STR_NEWWINS2= "0.0.0.0"
to:
Const STR_NEWWINS2= ""
0
 
xchangeCommented:
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?
0
Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.

 
markdmacCommented:
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

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

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now