By the way, I can't take any credit for this one. My co-worker put it
together.

- Sean

On Wed, May 19, 2010 at 12:11 PM, Sean Martin <seanmarti...@gmail.com>wrote:

>   As promised. IP addresses have been changed to protect the innocent. The
> script relies on a text file with server names. I'm sure there will be
> questions as to why it was written the way it was so I'll do my best to
> answer those as they come up.
>
> ========================================================
> Option Explicit
> 'On Error Resume Next
> 'Variable Declarations
> Dim
> arrNewDNSServers,objWMIService,colNetCards,objNetCard,arrCurrentDNS,strWINSOne,strWINSTwo,strMACAdd
> Dim
> objFSO,objFileList,strLine,i,strWINSPrime,strWINSSec,strDNSPrime,strDNSSec
> strWINSPrime="10.10.10.10"
> strWINSSec="10.10.10.11"
> strDNSPrime="10.10.10.12"
> strDNSSec="10.10.10.13"
> Set objFSO=CreateObject("Scripting.FileSystemObject") 'Create the
> FileSystemObject for accessing the filesystem on the local pc
> Set
> objFileList=objFSO.OpenTextFile("c:\Scripts\NICSettings\ServerList.txt",1)
> 'Open the list file
> ErrorTrap "NULL","NULL",err.Number,err.Description,"Opening List File"
>
> arrNewDNSServers = Array(strDNSPrime,strDNSSec) 'Array containing new DNS
> information
> 'Loop through the list file.
> Do Until objFileList.AtEndOfStream
>  strLine = objFileList.ReadLine 'Read a line from the list file
>  ErrorTrap strLine,"NULL",err.Number,err.Description,"Reading List File"
>
>  Set objWMIService = GetObject("winmgmts:\\"&strLine&"\root\CIMV2")'Connect
> to the remote WMI
>  ErrorTrap strLine,"NULL",err.Number,err.Description,"Setting
> objWMIService"
>
>  Set colNetCards=objWMIService.ExecQuery("Select * From
> Win32_NetworkAdapterConfiguration")'Query the remote network adapters
>  ErrorTrap strLine,"NULL",err.Number,err.Description,"Loading Network
> Cards"
>  For Each objNetCard in colNetCards 'Loop through each network adapter
>   strMACAdd=objNetCard.MACAddress 'Load the remote MAC to a variable
>   ErrorTrap strLine,"NULL",err.Number,err.Description,"Loading MAC Address
> into variable"
>   arrCurrentDNS=objNetCard.DNSServerSearchOrder 'Load current DNS into a
> variable
>   ErrorTrap strLine,strMACAdd,err.Number,err.Description,"Loading DNS
> settings into an array"
>   strWINSOne=objNetCard.WINSPrimaryServer 'Load primary WINS server into a
> variable
>   ErrorTrap strLine,strMACAdd,err.Number,err.Description,"Loading primary
> WINS server into variable"
>   strWINSTwo=objNetCard.WINSSecondaryServer 'Load secondary WINS server
> into a variable
>   ErrorTrap strLine,strMACAdd,err.Number,err.Description,"Loading secondary
> WINS server into variable"
>
>   If objNetCard.DHCPEnabled=False Then 'Check if DHCP is enabled.  If not,
> proceed.
>
>    If Not IsNull(arrCurrentDNS) Then 'Check if there are currently any DNS
> settings
>     For i = 0 to UBound(arrCurrentDNS) 'Cycle through DNS servers
>      If (arrCurrentDNS(i)="20.20.20.20") Then 'Look for old DNS info, if
> found, proceed.
>       objNetCard.SetDNSServerSearchOrder(arrNewDNSServers)'Set new DNS info
>       ErrorTrap strLine,strMACAdd,err.Number,err.Description,"Setting New
> DNS Settings"
>       'Exit For
>      End If
>     Next
>    End If
>    If strWINSONE="20.20.20.20" or strWINSOne = "20.20.20.21" Then 'Check
> for old WINS info. If found, proceed.
>     objNetCard.SetWINSServer strWINSPrime,strWINSSec ' Set new WINS info
>     ErrorTrap strLine,strMACAdd,err.Number,err.Description,"Setting new
> WINS settings"
>    End If
>
>   End If
>  'MsgBox(strMACAdd&","&strWINSOne&","&strWINSTwo&","&strDNSSettings)
>  Next
> Loop
> MsgBox("done")
> ' This is the error trapping subroutine.  It is called after any code is
> executed with the exception of setting variables
> Sub ErrorTrap(strWSName,strMACInfo,errNum,errDesc,strComments)
>  Dim objLogFile
>  If Not objFSO.FileExists("C:\scripts\NICSettings\LogFile.txt") Then 'Check
> for the existence of a log file
>   objFSO.CreateTextFile("C:\scripts\NICSettings\LogFile.txt") 'Create one
> if there is none
>  End If
>  Set objLogFile =
> objFSO.OpenTextFile("C:\scripts\NICSettings\LogFile.txt",8) 'Open the
> logfile for appending
>  objLogFile.WriteLine(Date&" "&Time&": "&strWSName&":"&strMACInfo&" -
> "&strComments&", Error Number:"&errNum&", Error Description: "&errDesc)
> 'Write error info
>  err.Clear 'Clear the error number and allow script to continue
>  objLogFile.Close 'Close the logfile
> End Sub
> ========================================================
>
>   On Wed, May 19, 2010 at 10:35 AM, Micheal Espinola Jr <
> michealespin...@gmail.com> wrote:
>
>> <hic!>  thso fwaht?!
>>
>> --
>> ME2
>>
>>
>>  On Tue, May 18, 2010 at 5:03 PM, Jonathan Link 
>> <jonathan.l...@gmail.com>wrote:
>>
>>> Script lush!
>>>
>>>
>>>  On Tue, May 18, 2010 at 7:21 PM, Micheal Espinola Jr <
>>> michealespin...@gmail.com> wrote:
>>>
>>>> Its always welcomed to share useful scripts!
>>>>
>>>> --
>>>> ME2
>>>>
>>>>
>>>>
>>>> On Tue, May 18, 2010 at 3:29 PM, Sean Martin <seanmarti...@gmail.com>wrote:
>>>>
>>>>> First, thanks for all of the feedback. Some interesting opinions out
>>>>> there. I've always been open to change so it's good to hear all of the
>>>>> positives/negatives regarding which route to take. It sounds like DHCP 
>>>>> would
>>>>> be the way to go with the majority of our servers, excluding the
>>>>> infrastructure servers.
>>>>>
>>>>> With that said, it's probably a change that will occur through
>>>>> attrition rather than changing our current method all at once. The main
>>>>> reason for that is our network services department wants us to change the
>>>>> subnets our servers currently reside on to further segment stuff. We've 
>>>>> got
>>>>> way too much work on our plates to investigate changing the addresses on 
>>>>> all
>>>>> of our servers so that will already be a slow transition.
>>>>>
>>>>> In the meantime, a co-worker and I put together what we hope is a
>>>>> functional VB script that will make the necessary changes to the existing
>>>>> WINs and DNS settings. If anyone's interested in seeing it (and maybe
>>>>> reviewing it for validity), I'd be happy to pass it along.
>>>>>
>>>>> - Sean
>>>>>
>>>>>   On Tue, May 18, 2010 at 1:41 PM, Ben Scott <mailvor...@gmail.com>wrote:
>>>>>
>>>>>> On Tue, May 18, 2010 at 4:24 PM, Sean Martin <seanmarti...@gmail.com>
>>>>>> wrote:
>>>>>> > What are some of the pros/cons of using DHCP for servers...?
>>>>>>
>>>>>>  For an environment like you describe, with hundreds of servers, I
>>>>>> would recommend DHCP for all but critical network infrastructure
>>>>>> servers.  I'd use manual configuration for anything serving DHCP, DNS,
>>>>>> WINS, or Active Directory.  Everything else, DHCP, with reservations.
>>>>>>
>>>>>>  Just to be clear: DHCP does not have to mean a dynamic IP address.
>>>>>> You can statically assign an IP address via a DHCP reservation.  And
>>>>>> there are tools to help you do things like automatically provision the
>>>>>> reservations, based on name or MAC address or whatever.
>>>>>>
>>>>>> > I've heard mention of not using DHCP to prevent DHCP broadcasts
>>>>>> > but with a properly designed lease interval, I can't imagine the
>>>>>> DHCP
>>>>>> > traffic being that much of burden on today's networks....
>>>>>>
>>>>>>  As ME2 says, it really depends on the environment, but I would
>>>>>> generally agree.  You'll already be needing infrastructure to support
>>>>>> DNS, prolly Active Directory, possibly WINS, Window Updates, etc.,
>>>>>> etc.  If DHCP is going to push you over the edge you're already way
>>>>>> too close to the edge.  :)
>>>>>>
>>>>>>  The one thing you *may* notice is a surge in broadcast traffic after
>>>>>> rebooting or starting a large group of servers -- say, after a
>>>>>> software update, or a long power outage.  In general, though, you're
>>>>>> already going to be seeing that due to ARP and maybe NetBIOS
>>>>>> registration.  So again, if this is a problem you're likely already
>>>>>> experiencing it.  The usual solution is to stagger reboot/startup.
>>>>>>
>>>>>> -- Ben
>>>>>>
>>>>>> ~ Finally, powerful endpoint security that ISN'T a resource hog! ~
>>>>>> ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>
>
>
>
>

~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

Reply via email to