Using WMI, here is an example:
code:
Break On
? "Workstation name is: " +@wksta
? "System Memory is: "val(WMIQuery("TotalPhysicalMemory","Win32_LogicalMemoryConfiguration"))/1024 " MB"
? "CPU Speed is: "WMIQuery("CurrentClockSpeed","Win32_Processor") " Mhz"
? "Operating system is: " @PRODUCTTYPE
? "System Manufacturer is: "WMIQuery("Manufacturer","Win32_ComputerSystem")
? "Logged on user is: " @USERID
? "Logon date is: " @DATE
? "Logon time is: " @TIME
FUNCTION WMIQuery($what,$where,)
dim $strQuery, $objEnumerator, $value
$strQuery = "Select $what From $where"
$SystemSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//@WKSTA")
$objEnumerator = $SystemSet.ExecQuery($strQuery)
For Each $objInstance in $objEnumerator
If @Error = 0 and $objInstance <> ""
$=execute("$$value = $$objInstance.$what")
$WMIQuery="$value"+"|"+"$WMIQuery"
EndIf
Next
$WMIQuery=left($WMIQuery,len($WMIQuery)-1)
exit @error
ENDFUNCTION