#148649 - 2005-09-28 06:02 AM
Hardware inventory to csv or excel file
|
alex1372
Lurker
Registered: 2005-09-25
Posts: 4
|
Hello,
I'm totally new for any of scripting technics and i heed help to accomplish the following:
1. I need to collect local hardware info (PC Name, IP, MAC, build date, model, chassis, logged on user, cpu speed, total memory, HDD size) in csv format (kind of easy) 2. When every time I get needed information I would like to populate excel with that info, for each computer on separate row. (have no clue )
I would like to use this routine for logging purposes when deploying new workstation.
Thank you very much.
|
|
Top
|
|
|
|
#148651 - 2005-09-28 03:21 PM
Re: Hardware inventory to csv or excel file
|
alex1372
Lurker
Registered: 2005-09-25
Posts: 4
|
I know how i can do it for one PC, but how can add lines from different computers to the same file?
I found script to get almost all info, but how can I add model and chassis to it?
Code:
BREAK On $IPaddr = EnumIPinfo(0,0) if $IPaddr = "0.0.0.0" or $IPaddr = "" $IPinfo = GetIPinfo() $IPaddr = $IPinfo[0] $SNmask = $IPinfo[1] $Gateway = $IPinfo[2] else $SNmask = EnumIPinfo(0,1) $Gateway = EnumIPinfo(0,3) endif
;Output file $nul= ReDirectOutput ("\\server\share\hardware_inventory.csv",1)
$objWMIService = GetObject( "winmgmts://./root/cimv2" )
; Query processor properties $colItems = $objWMIService.ExecQuery( "Select * from Win32_Processor", , 48 ) ; Display results For Each $objItem in $colItems $mycpu = ($objItem.CurrentClockSpeed) + " MHz" Next
; Query memory properties $colItems = $objWMIService.ExecQuery( "Select * from Win32_LogicalMemoryConfiguration", , 48 ) ; Display results For Each $objItem in $colItems $mymemory = ( ( $objItem.TotalPhysicalMemory + 1023 ) / 1024 ) Next
; Query harddisk properties $colItems = $objWMIService.ExecQuery( "Select * from Win32_DiskDrive", , 48 ) ; Display results For Each $objItem in $colItems ; Some trickery to enable working with large numbers $Size = $objItem.Size $LSize = Len( $Size ) $MSize = SubStr( $Size, 1, $LSize - 3 ) $Size = ( 524288 + $MSize ) / 1048576 Next
? "@WKSTA,@UserID,@PRODUCTTYPE @CSD,$IPaddr,@address,$mycpu,$mymemory,$Size"
Quit 0 [\code]
|
|
Top
|
|
|
|
#148653 - 2005-09-28 08:20 PM
Re: Hardware inventory to csv or excel file
|
alex1372
Lurker
Registered: 2005-09-25
Posts: 4
|
The script takes about 2 second to update the file. Is there a way to check (for locking) the file before opening it?
|
|
Top
|
|
|
|
#148656 - 2005-09-28 11:31 PM
Re: Hardware inventory to csv or excel file
|
alex1372
Lurker
Registered: 2005-09-25
Posts: 4
|
That's what i have:
Code:
BREAK On $IPaddr = EnumIPinfo(0,0) if $IPaddr = "0.0.0.0" or $IPaddr = "" $IPinfo = GetIPinfo() $IPaddr = $IPinfo[0] $SNmask = $IPinfo[1] $Gateway = $IPinfo[2] else $SNmask = EnumIPinfo(0,1) $Gateway = EnumIPinfo(0,3) endif
; Connect to specified computer $objWMIService = GetObject( "winmgmts://./root/cimv2" )
; Query processor properties $colItems = $objWMIService.ExecQuery( "Select * from Win32_Processor", , 48 ) ; Display results For Each $objItem in $colItems $mycpu = ($objItem.CurrentClockSpeed) + " MHz" Next
; Query memory properties $colItems = $objWMIService.ExecQuery( "Select * from Win32_LogicalMemoryConfiguration", , 48 ) For Each $objItem in $colItems $mymemory = ( ( $objItem.TotalPhysicalMemory + 1023 ) / 1024 ) Next
; Query harddisk properties $colItems = $objWMIService.ExecQuery( "Select * from Win32_DiskDrive", , 48 ) ; Display results For Each $objItem in $colItems ; Some trickery to enable working with large numbers $Size = $objItem.Size $LSize = Len( $Size ) $MSize = SubStr( $Size, 1, $LSize - 3 ) $Size = ( 524288 + $MSize ) / 1048576 Next
; Header line for screen output $myline = "@WKSTA,$IPaddr,@address,@PRODUCTTYPE @CSD,$mycpu,$mymemory,$Size,@UserID,@date" IF Open( 3 , "Installation_Log.csv" , 5 ) = 0 $x = WriteLine( 3 , $myline + @CRLF ) ELSE BEEP ? "failed to open file, error code : [" + @ERROR + "]" ENDIF
Quit 0
How can i add model/chassis information to it?
|
|
Top
|
|
|
|
Moderator: Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart
|
0 registered
and 1452 anonymous users online.
|
|
|