cefranklin
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.
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
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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?
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.
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
ASKER
Will test Monday thanks for the replies.
ASKER
Alright, I thought I tried that but, since it works now, I guess I will chalk it up to me being an idiot :P
Const STR_NEWWINS2= "0.0.0.0"
to:
Const STR_NEWWINS2= ""