I was searching for the network adapters of the computers in our network. But I get more then I wanted. How can I find out which adapters that are returned are real adapters, no virtual adapters?
Code:
If NOT @LOGONMODE
Break On
Else
Break Off
EndIf
Dim $RC
$RC = SetOption("Explicit","On")
$RC = SetOption("NoVarsInStrings","On")
$RC = SetOption("NoMacrosInStrings","On")
$RC = SetOption("WrapAtEOL","On")
Include "C:\Script\UDF\OSPing.UDF"
Include "C:\Script\UDF\WMIQuery.udf"
Dim $objDomain, $objComputer
Dim $arrComputers, $strComputer
Dim $i, $What, $From, $Result
Dim $INI
$INI = @SCRIPTDIR + "\Computers.ini"
$objDomain = GetObject("WinNT://OurDomainName")
$objDomain.Filter = "Computer",""
For Each $objComputer In $objDomain
If NOT $arrComputers = ""
$arrComputers = $arrComputers + ","
EndIf
$arrComputers = $arrComputers + $objComputer.Name
Next
$arrComputers = Split($arrComputers,",")
For Each $strComputer In $arrComputers
;? $strComputer
$RC = WriteProfileString($INI,$strComputer,"","")
If OSPing($strComputer)
$i = 0
$From = 'Win32_NetworkAdapter'
$What = 'Description'
For Each $Result In WMIQuery($What,$From,$strComputer)
$i = $i + 1
If $Result
? $what + "," + $From + "," + $i+ " = "+ $Result
$RC = WriteProfileString($INI,$strComputer,$what + "," + $From + "," + $i,$Result)
EndIf
Next
$i = 0
$From = 'Win32_NetworkAdapter'
$What = 'MACAddress'
For Each $Result In WMIQuery($What,$From,$strComputer)
$i = $i + 1
If $Result
? $what + "," + $From + "," + $i+ " = "+ $Result
$RC = WriteProfileString($INI,$strComputer,$what + "," + $From + "," + $i,$Result)
EndIf
Next
EndIf
Next