'************************************************************************
'DESCRIPTION:
'WRITTEN BY: Daniel M. Jones
'DATE: June 11, 2009
'UPDATE:
'************************************************************************
'on error resume next
'************************************************************************
' VARIABLE DEFINITION
'************************************************************************
CONST SELF_VERSION = "0.1"
CONST SELF_SCRIPT = "Set DNS"
CONST UNKNOWN = "Chickenless Soup"
dim arrNewDNS(1)
dim arrOldDNS(1)
arrNewDNS(0) = "10.15.200.57"
arrNewDNS(1) = "10.15.200.60"
arrOldDNS(0) = "10.5.1.2"
arrOldDNS(1) = "10.15.200.31"
set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
set objReg = GetObject("winmgmts:\\.\root\default:StdRegProv")
set objShell = WScript.CreateObject("WScript.Shell")
'************************************************************************
' FUNCTIONS
'************************************************************************
function ping (strComputer)
ping = false
set objExec = objShell.Exec("%comspec% /c ping " & strComputer & " -n 1 -w 100")
do until objExec.Stdout.AtEndOfStream
strLine = objExec.StdOut.ReadLine
if (inStr(strLine, "Reply")) then ping = true
loop
end function
'************************************************************************
' BEGIN
'************************************************************************
strComputer = ucase(inputBox("Asset"))
if (ping(strComputer) = false) then msgbox "Computer unreachable" : wscript.quit
set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set tblNICs = objWMI.ExecQuery("Select DNSServerSearchOrder From Win32_NetworkAdapterConfiguration")
for each objNIC in tblNICs
arrDNS = objNIC.DNSServerSearchOrder
if (isArray(arrDNS)) then
strCurrentDNS = join(arrDNS)
for each strOldDNS in arrOldDNS
if (inStr(strCurrentDNS, strOldDNS)) then strCurrentDNS = replace(strCurrentDNS, strOldDNS, "")
next
for each strNewDNS in arrNewDNS
if (inStr(strCurrentDNS, strNewDNS) = 0) then strCurrentDNS = strCurrentDNS & " " & strNewDNS
next
strCurrentDNS = replace(trim(strCurrentDNS), " ", ",")
arrCompleteDNS = split(strCurrentDNS, ",")
wscript.sleep 1000
objNIC.SetDNSServerSearchOrder(arrCompleteDNS)
end if
next