bsharath
asked on
How can i find which all machines in my network are using static ip address
Hi,
How can i find which all machines in my network are using static ip address.Is there a way to find this remotely instead of logging to each machine and checking or checking the reservation.As reservation is done for DHCP alloted ip's too.
Regards
Sharath
How can i find which all machines in my network are using static ip address.Is there a way to find this remotely instead of logging to each machine and checking or checking the reservation.As reservation is done for DHCP alloted ip's too.
Regards
Sharath
Use the super scan and put the range which you have excluded from the dhcp scope. You should be able to get all the pc names.
http://www.networkingfiles.com/superscan/
http://www.networkingfiles.com/superscan/
ASKER
Farhan
It shows that all the machines are running static ip address.
DEV-CHEN-PC010 is using static IP address
DEV-CHEN-PC011 is using static IP address
DEV-CHEN-PC020 is using static IP address
DEV-CHEN-PC022 is using static IP address
DEV-CHEN-PC025 is using static IP address
DEV-CHEN-PC026 is using static IP address
DEV-CHEN-PC029 is using static IP address
DEV-CHEN-PC030 is using static IP address
DEV-CHEN-PC036 is using static IP address
DEV-CHEN-PC040 is using static IP address
DEV-CHEN-PC043 is using static IP address
DEV-CHEN-PC047 is using static IP address
DEV-CHEN-PC052 is using static IP address
DEV-CHEN-PC057 is using static IP address
DEV-CHEN-PC058 is using static IP address
Where all these machines are switched off or have DHCP enable and i have check them all manually...
It shows that all the machines are running static ip address.
DEV-CHEN-PC010 is using static IP address
DEV-CHEN-PC011 is using static IP address
DEV-CHEN-PC020 is using static IP address
DEV-CHEN-PC022 is using static IP address
DEV-CHEN-PC025 is using static IP address
DEV-CHEN-PC026 is using static IP address
DEV-CHEN-PC029 is using static IP address
DEV-CHEN-PC030 is using static IP address
DEV-CHEN-PC036 is using static IP address
DEV-CHEN-PC040 is using static IP address
DEV-CHEN-PC043 is using static IP address
DEV-CHEN-PC047 is using static IP address
DEV-CHEN-PC052 is using static IP address
DEV-CHEN-PC057 is using static IP address
DEV-CHEN-PC058 is using static IP address
Where all these machines are switched off or have DHCP enable and i have check them all manually...
Do you have a list of pcnames that can passed to a script for checking? If yes I have a script for you
zf
zf
ASKER
Yes i have the names of the machines in a file...
How about one script to cover the other two questions with this one? output to csv? All nic's installed, dhcp or static, default gateway?
zf
zf
How about one script to cover the other two questions with this one? output to csv? All nic's installed, dhcp or static, default gateway?
zf
zf
ASKER
Yes that would be great....
K be back in a few for all three is done and works working on the output formatting so it is better structured
zf
zf
K be back in a few for all three is done and works working on the output formatting so it is better structured
zf
zf
I hope this fits the bill for all accounts, I think youll like the result.
'===Start copy: getlaninfo.vbs===
' -------------------------- ---------- ---------- ---------- -------'
' getlaninfo.vbs
' 'Sample VBScript to query remote computers
' 'and return lan adapter information into csv file.
' ''Author Riley C. aka ZooFan
' '''Version 1.6 - August 2007
' ''''https://www.experts-exchange.com question ID: 22749974,22749966,22748871
' -------------------------- ---------- ---------- ---------- -------'
'
Option Explicit
Const ForReading = 1, ForWriting = 2, ForAppending = 3 'FileObject Access Type
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 'FileObject Format Type
Dim strPcList
Dim arrPcnames()
Dim strResultsFile
Dim dte
Dim tme
Dim objFso
Dim objWshShell
Dim objPCnames
Dim objReadFile
Dim intLneCount
Dim objOutputFile
Dim strCurPath
Dim intPCLoop
Dim strReturn
Dim strTestcon
Set objFso = CreateObject("Scripting.Fi leSystemOb ject")
Set objWshShell = WScript.CreateObject("WScr ipt.Shell" )
strCurPath = CreateObject("Scripting.Fi leSystemOb ject").Get AbsolutePa thName("." )
strPcList = InputBox("Please enter the full path and file" & VbCrLf & "name of the file with the computer names.","Get cdrom drives.")
'Test to make sure file exists if not exit script
If Not objFso.FileExists(strPcLis t) Then
MsgBox "You must enter a valid full path and file name!",vbOKOnly,"Get cdrom drives."
WScript.Quit(0)
Elseif strPcList = "" Then
MsgBox "You must enter a filename!",vbOKOnly,"Get cdrom drives."
WScript.Quit(0)
Else 'File exists continue
dte = Replace(FormatDateTime(dat e(),vbshor tdate),"/" ,"-")
tme = Replace(Replace(FormatDate Time(now() ,vbLongtim e),":","-" )," ","")
strResultsFile = strCurPath & "\" & tme & "_" & dte & ".csv"
If objFSO.FileExists(strResul tsFile) Then
ObjFSO.deleteFile(strResul tsFile)
Else
Set objOutputFile = objFso.CreateTextFile(strR esultsFile )
objOutputFile.Close
End If
MsgBox strResultsFile
Set objPCnames = objFso.GetFile(strPcList)
Set objReadFile = objPCnames.OpenAsTextStrea m(ForReadi ng, TristateUseDefault)
Do Until objReadFile.AtEndOfStream
ReDim Preserve arrPCnames(intLneCount)
arrPCnames(intLneCount) = objReadFile.ReadLine
intLneCount = intLneCount + 1
Loop
objReadFile.Close
Set objOutputFile = objFso.OpenTextFile(strRes ultsFile,F orWriting, TristateUs eDefault)
objOutputFile.WriteLine("C omputer,Ni c#,Descrip tion,DHCP, IP,Mask,Ga teway")
For intPCLoop = LBound(arrPCnames) To UBound(arrPCnames)
strTestcon = IsServerOn(arrPCnames(intP CLoop))
If strTestcon = "0" then
strReturn = getnetinfo(arrPCnames(intP CLoop))
objOutputFile.WriteLine(st rReturn)
Else
objOutputFile.WriteLine(ar rPCnames(i ntPCLoop) & "," & strTestcon)
End If
Next
objOutputFile.Close
MsgBox("Script has completed")
WScript.Quit
End If
Function getnetinfo(strcomputer)
On Error Resume Next
Dim objWMIService
Dim colNicConfigs
Dim objNicConfig
Dim strIPAddresses
Dim strIPSubnet
Dim strDefaultIPGateway
Dim strGatewayCostMetric
Dim intNics
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=imper sonate}!\\ " & strcomputer & "\root\cimv2")
Set colNicConfigs = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfig uration WHERE IPEnabled = True")
intNics = 0
For Each objNicConfig In colNicConfigs
If Not IsNull(objNicConfig.IPAddr ess) Then
strIPAddresses = Join(objNicConfig.IPAddres s)
Else
strIPAddresses = "None"
End If
If Not IsNull(objNicConfig.IPSubn et) Then
strIPSubnet = Join(objNicConfig.IPSubnet )
Else
strIPSubnet = "None"
End If
If Not IsNull(objNicConfig.Defaul tIPGateway ) Then
strDefaultIPGateway = Join(objNicConfig.DefaultI PGateway)
Else
strDefaultIPGateway = "None"
End If
intNics = intNics + 1
If intNics = 1 Then
getnetinfo = getnetinfo & strcomputer & "," & intNics & "," & objNicConfig.Description & "," & objNicConfig.DHCPEnabled & "," & strIPAddresses & "," & strIPSubnet & "," & strDefaultIPGateway & VbCrLf
Else
getnetinfo = getnetinfo & "," & intNics & "," & objNicConfig.Description & "," & objNicConfig.DHCPEnabled & "," & strIPAddresses & "," & strIPSubnet & "," & strDefaultIPGateway & VbCrLf
End If
Next
Set objWMIService = Nothing
Set colNicConfigs = Nothing
End Function
Function IsServerOn(strserver)
Dim Testme
Dim intErr
Dim strRegValue
Dim strFileServer
On Error Resume Next
Set Testme = GetObject("winmgmts://" & strserver & "/root/cimv2")
Set strRegValue = GetObject("winmgmts://" & strserver & "/root/default:StdRegProv" )
intErr = Err.Number
If intErr <> 0 Then
IsServerOn = Err.Description
Else
IsServerOn = "0"
End If
On Error GoTo 0
End Function
Function readtextfile(strTxtFile, arrname())
On Error Resume Next
Dim intErr, intLines
Dim objTxtLines, objReadFile,objFso
Set objFso = CreateObject("Scripting.Fi leSystemOb ject")
Set objTxtLines = objFso.GetFile(strTxtFile)
Set objReadFile = objTxtLines.OpenAsTextStre am(ForRead ing, TristateUseDefault)
Do Until objReadFile.AtEndOfStream
ReDim Preserve arrname(intLines)
arrname(intLines) = objReadFile.ReadLine
intLines = intLines + 1
Loop
objReadFile.Close
Set objFso = nothing
Set objTxtLines = Nothing
Set objReadFile = Nothing
intErr = Hex(Err.Number)
If intErr <> 0 Then
readtextfile = Err.Description
Else
readtextfile = "0"
End If
On Error GoTo 0
End Function
any problems let me know,
zf
'===Start copy: getlaninfo.vbs===
' --------------------------
' getlaninfo.vbs
' 'Sample VBScript to query remote computers
' 'and return lan adapter information into csv file.
' ''Author Riley C. aka ZooFan
' '''Version 1.6 - August 2007
' ''''https://www.experts-exchange.com question ID: 22749974,22749966,22748871
' --------------------------
'
Option Explicit
Const ForReading = 1, ForWriting = 2, ForAppending = 3 'FileObject Access Type
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0 'FileObject Format Type
Dim strPcList
Dim arrPcnames()
Dim strResultsFile
Dim dte
Dim tme
Dim objFso
Dim objWshShell
Dim objPCnames
Dim objReadFile
Dim intLneCount
Dim objOutputFile
Dim strCurPath
Dim intPCLoop
Dim strReturn
Dim strTestcon
Set objFso = CreateObject("Scripting.Fi
Set objWshShell = WScript.CreateObject("WScr
strCurPath = CreateObject("Scripting.Fi
strPcList = InputBox("Please enter the full path and file" & VbCrLf & "name of the file with the computer names.","Get cdrom drives.")
'Test to make sure file exists if not exit script
If Not objFso.FileExists(strPcLis
MsgBox "You must enter a valid full path and file name!",vbOKOnly,"Get cdrom drives."
WScript.Quit(0)
Elseif strPcList = "" Then
MsgBox "You must enter a filename!",vbOKOnly,"Get cdrom drives."
WScript.Quit(0)
Else 'File exists continue
dte = Replace(FormatDateTime(dat
tme = Replace(Replace(FormatDate
strResultsFile = strCurPath & "\" & tme & "_" & dte & ".csv"
If objFSO.FileExists(strResul
ObjFSO.deleteFile(strResul
Else
Set objOutputFile = objFso.CreateTextFile(strR
objOutputFile.Close
End If
MsgBox strResultsFile
Set objPCnames = objFso.GetFile(strPcList)
Set objReadFile = objPCnames.OpenAsTextStrea
Do Until objReadFile.AtEndOfStream
ReDim Preserve arrPCnames(intLneCount)
arrPCnames(intLneCount) = objReadFile.ReadLine
intLneCount = intLneCount + 1
Loop
objReadFile.Close
Set objOutputFile = objFso.OpenTextFile(strRes
objOutputFile.WriteLine("C
For intPCLoop = LBound(arrPCnames) To UBound(arrPCnames)
strTestcon = IsServerOn(arrPCnames(intP
If strTestcon = "0" then
strReturn = getnetinfo(arrPCnames(intP
objOutputFile.WriteLine(st
Else
objOutputFile.WriteLine(ar
End If
Next
objOutputFile.Close
MsgBox("Script has completed")
WScript.Quit
End If
Function getnetinfo(strcomputer)
On Error Resume Next
Dim objWMIService
Dim colNicConfigs
Dim objNicConfig
Dim strIPAddresses
Dim strIPSubnet
Dim strDefaultIPGateway
Dim strGatewayCostMetric
Dim intNics
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=imper
Set colNicConfigs = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfig
intNics = 0
For Each objNicConfig In colNicConfigs
If Not IsNull(objNicConfig.IPAddr
strIPAddresses = Join(objNicConfig.IPAddres
Else
strIPAddresses = "None"
End If
If Not IsNull(objNicConfig.IPSubn
strIPSubnet = Join(objNicConfig.IPSubnet
Else
strIPSubnet = "None"
End If
If Not IsNull(objNicConfig.Defaul
strDefaultIPGateway = Join(objNicConfig.DefaultI
Else
strDefaultIPGateway = "None"
End If
intNics = intNics + 1
If intNics = 1 Then
getnetinfo = getnetinfo & strcomputer & "," & intNics & "," & objNicConfig.Description & "," & objNicConfig.DHCPEnabled & "," & strIPAddresses & "," & strIPSubnet & "," & strDefaultIPGateway & VbCrLf
Else
getnetinfo = getnetinfo & "," & intNics & "," & objNicConfig.Description & "," & objNicConfig.DHCPEnabled & "," & strIPAddresses & "," & strIPSubnet & "," & strDefaultIPGateway & VbCrLf
End If
Next
Set objWMIService = Nothing
Set colNicConfigs = Nothing
End Function
Function IsServerOn(strserver)
Dim Testme
Dim intErr
Dim strRegValue
Dim strFileServer
On Error Resume Next
Set Testme = GetObject("winmgmts://" & strserver & "/root/cimv2")
Set strRegValue = GetObject("winmgmts://" & strserver & "/root/default:StdRegProv"
intErr = Err.Number
If intErr <> 0 Then
IsServerOn = Err.Description
Else
IsServerOn = "0"
End If
On Error GoTo 0
End Function
Function readtextfile(strTxtFile, arrname())
On Error Resume Next
Dim intErr, intLines
Dim objTxtLines, objReadFile,objFso
Set objFso = CreateObject("Scripting.Fi
Set objTxtLines = objFso.GetFile(strTxtFile)
Set objReadFile = objTxtLines.OpenAsTextStre
Do Until objReadFile.AtEndOfStream
ReDim Preserve arrname(intLines)
arrname(intLines) = objReadFile.ReadLine
intLines = intLines + 1
Loop
objReadFile.Close
Set objFso = nothing
Set objTxtLines = Nothing
Set objReadFile = Nothing
intErr = Hex(Err.Number)
If intErr <> 0 Then
readtextfile = Err.Description
Else
readtextfile = "0"
End If
On Error GoTo 0
End Function
any problems let me know,
zf
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Will return DHCP True/False for each adapter installed physical and virtual.
zf
zf
@Echo Off
SETLOCAL
IF EXIST C:\StaticIP.txt DEL /F /Q C:\StaticIP.txt
FOR /F "Eol=T Skip=3 Tokens=1 Delims=\ " %%c IN ('Net view') DO (
Echo Quering: %%c
WMIC /NODE:"%%c" NICCONFIG WHERE DHCPEnabled=FALSE GET IPAddress | FIND "." >NUL
IF ErrorLevel 1 Echo %%c is using static IP address >>C:\StaticIP.txt
)
Echo. && Echo Script Finish. Check 'C:\StaticIP.txt' file.
ENDLOCAL
:: *** SCRIPT END ***