Here is what I have been able to put together on this:
Code:
CLS
BREAK ON
;DIM $oxl,$Row,$b,$ip,$make,$model,$sn,$cs,$mm,$mt,$,$u
;$rc=SETOPTION('Explicit','On')
;$rc=SETOPTION('NoVarsInStrings','On')
$fl='H:\mmc.csv'
IF exist($fl)
DEL $fl
ENDIF
$logdata='ComputerName,IP,User,Make,Model,Serial,Processor,Monitor,MonitorType'
LOGGER($fl,$logdata+@crlf)
$containername = @DOMAIN
$container = GetObject("WinNT://"+$containername)
$container.filter = "Computer", ""
FOR EACH $computer IN $container
$cn=$computer.name
IF LEFT($cn,4)='MMC0' AND LEN($cn)=8
IF RIGHT($cn,4)>=1300
$ip=WSHPing($cn)
?'checking '+$cn
SELECT CASE $ip[1]<0
$logdata=$cn+','$ip[0]
CASE NOT EXIST('\\'+$cn+'\admin$$')
$logdata=$cn+','$ip[0]
CASE EXIST('\\'+$cn+'\admin$$')
$u=WMIQuery("username","Win32_ComputerSystem",$cn)
$make=WMIQuery("Manufacturer","Win32_ComputerSystem",$cn)
$model=WMIQuery("Model","Win32_ComputerSystem",$cn)
$sn=WMIQuery("SerialNumber","Win32_BIOS",$cn)
$cs=WMIQuery("CurrentClockSpeed","Win32_Processor",$cn)
$mm=WMIQuery("MonitorManufacturer","Win32_DesktopMonitor",$cn)
$mt=WMIQuery("MonitorType","Win32_DesktopMonitor",$cn)
;?$cn
;?$ip[0]
;?$ip[1]
;?$u[0]
;?$make[0]
;?$model[0]
;?$sn[0]
;?$cs[0]
;?$mm[0]
;?$mt[0]
;ENDIF
$logdata=$cn+','+$ip[0]+','+$u[0]+','+$make[0]+','+$model[0]+','+$sn[0]+','+$cs[0]+','+$mm[0]+','+$mt[0]
ENDSELECT
LOGGER($fl,$logdata+@crlf)
ENDIF
ENDIF
NEXT
?'process is complete'
GET $
Requires:
WSHPING()
WSHPIPE()
LOGGER()
WMIQUERY()
Thanks!
Kent