Link to home
Start Free TrialLog in
Avatar of smart Z
smart Z

asked on

Software inventory

Is there a tool available or  Microsoft way to do software inventory in a network.
Avatar of Bryant Schaper
Bryant Schaper
Flag of United States of America image

I think spiceworks as one and I use asset inventory from ManageEngine.
Sysaid as well.
Avatar of smart Z
smart Z

ASKER

any free tools?
Spiceworks is a free tool.
Before we used SCCM and Lansweeper we ware able to make software inventory with this tool:


https://www.youtube.com/watch?v=Ez17hKGSdhE
http://www.network-inventory-advisor.com/
Several years ago "Scripting Guy" wrote a script using WMI that could be used as long as the software is listed in the uninstall registry key.  I have used it but not for some time as it won't catch everything.

I just found it in my archives.

'==========================================================================
'
'
' NAME: InventoryInstalledSoftwareRegKey.vbs
'
' AUTHOR: ed wilson, msft 
' DATE  : 1/22/2009
'
' COMMENT: Uses WMI to read the uninstall software registry key.
'
'==========================================================================
SubCheckCscript
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&_ 
    strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Uninstall"
objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
WScript.Echo "Subkeys under " _
    & "HKEY_LOCAL_MACHINE\SYSTEM\Software\Microsoft\Windows\CurrentVersion\Uninstall"
For Each subkey In arrSubKeys
    WScript.Echo subkey
    objReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\" & subKey, "DisplayName", strDisplayName
    objReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\" & subKey, "Publisher", strPublisher
    objReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\" & subKey, "DisplayVersion", strDisplayVersion
    If Not IsNull(strDisplayName) Then
       WScript.Echo vbTab & "Display Name: " & strDisplayName
    End If 
    If Not IsNull(strDisplayName) Then
       WScript.Echo vbTab & "Publisher: " & strPublisher
    End If 
    If Not IsNull(strDisplayName) Then
       WScript.Echo vbTab & "Display Version: " & strDisplayVersion
    End If 
Next

Sub SubCheckCscript
If LCase(Right(Wscript.FullName, 11)) = "wscript.exe" Then
    MsgBox "This script must be run under cscript. 
Open the cmd prompt, type cscript 
InventoryInstalledSoftwareRegKey.vbs"
    WScript.Quit
End If 
End Sub

‘---- end script

Open in new window


For more information I also found the TechNet archive link for it:  
http://blogs.technet.com/b/heyscriptingguy/archive/2009/03/06/quick-hits-friday-the-scripting-guys-respond-to-a-bunch-of-questions-03-06-09.aspx
Avatar of smart Z

ASKER

I am looking for software inventory and not the network inventory. Is the spice works network inventory doing the software collection as well.
ASKER CERTIFIED SOLUTION
Avatar of Benjamin Voglar
Benjamin Voglar
Flag of Slovenia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of smart Z

ASKER

Thank you Benjamin.

I will check Lansweeper.