Well...Here is the code at this point.. There still appears to be conversion issues with this as this is RAW Data. Maybe "decompile" Perfmon to see what the conversions are for UINT32, and UINT64, for example?

code:
break on$hostname = "Servername"
$WMI = GetObject("winmgmts:{impersonationlevel=impersonate}!//$hostname\root\cimv2")
$WSL = "select * From Win32_PerfRawData_PerfDisk_LogicalDisk"
$Collection = $WMI.ExecQuery($WSL)
; -- Disk Stats
For Each $LogicalDisk in $Collection
?
?"LogicalDisk : " $LogicalDisk.Name
?"AvgDiskQueueLength : " $LogicalDisk.AvgDiskQueueLength
?"AvgDiskSecPerRead : " $LogicalDisk.AvgDiskSecPerRead
?"AvgDiskSecPerTransfer : " $LogicalDisk.AvgDiskSecPerTransfer
?"AvgDiskSecPerWrite : " $LogicalDisk.AvgDiskSecPerWrite
?"FreeMegabytes : " $LogicalDisk.FreeMegabytes
Next
; -- Procesor
$WSL = "select * From Win32_PerfRawData_PerfOS_Processor"
$Collection = $WMI.ExecQuery($WSL)
For Each $Processor in $Collection
?
?"PercentProcessorTime : " $Processor.PercentProcessorTime
Next
; -- SQL Server
$WSL = "select * From Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager"
$Collection = $WMI.ExecQuery($WSL)
For Each $SQLStat in $Collection
?"Buffercachehitratio : " $SQLStat.Buffercachehitratio
Next
exit 1
L8r!
- Kent
[ 09 January 2002: Message edited by: kdyer ]