[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 679
  • Last Modified:

Get Software List Using WMI

Hi

How would you use wmi to get hardware/software information on a networked computer if you knew the network path and or computer name of a computer on your network?

Thanks
0
narmi2
Asked:
narmi2
  • 5
4 Solutions
 
Ramesh SrinivasTechnical ConsultantCommented:
Enter your computer name after u run this script:

On Error Resume Next

result = inputbox("Name", "Please enter the computer name", 100, 100)

strComputer = result

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
For Each objItem in colItems
    Wscript.Echo "BootDevice: " & objItem.BootDevice
    Wscript.Echo "BuildNumber: " & objItem.BuildNumber
    Wscript.Echo "BuildType: " & objItem.BuildType
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "CodeSet: " & objItem.CodeSet
    Wscript.Echo "CountryCode: " & objItem.CountryCode
    Wscript.Echo "CreationClassName: " & objItem.CreationClassName
    Wscript.Echo "CSCreationClassName: " & objItem.CSCreationClassName
    Wscript.Echo "CSDVersion: " & objItem.CSDVersion
    Wscript.Echo "CSName: " & objItem.CSName
    Wscript.Echo "CurrentTimeZone: " & objItem.CurrentTimeZone
    Wscript.Echo "Debug: " & objItem.Debug
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "Distributed: " & objItem.Distributed
    Wscript.Echo "ForegroundApplicationBoost: " & objItem.ForegroundApplicationBoost
    Wscript.Echo "FreePhysicalMemory: " & objItem.FreePhysicalMemory
    Wscript.Echo "FreeSpaceInPagingFiles: " & objItem.FreeSpaceInPagingFiles
    Wscript.Echo "FreeVirtualMemory: " & objItem.FreeVirtualMemory
    Wscript.Echo "InstallDate: " & objItem.InstallDate
    Wscript.Echo "LastBootUpTime: " & objItem.LastBootUpTime
    Wscript.Echo "LocalDateTime: " & objItem.LocalDateTime
    Wscript.Echo "Locale: " & objItem.Locale
    Wscript.Echo "Manufacturer: " & objItem.Manufacturer
    Wscript.Echo "MaxNumberOfProcesses: " & objItem.MaxNumberOfProcesses
    Wscript.Echo "MaxProcessMemorySize: " & objItem.MaxProcessMemorySize
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "NumberOfLicensedUsers: " & objItem.NumberOfLicensedUsers
    Wscript.Echo "NumberOfProcesses: " & objItem.NumberOfProcesses
    Wscript.Echo "NumberOfUsers: " & objItem.NumberOfUsers
    Wscript.Echo "Organization: " & objItem.Organization
    Wscript.Echo "OSLanguage: " & objItem.OSLanguage
    Wscript.Echo "OSProductSuite: " & objItem.OSProductSuite
    Wscript.Echo "OSType: " & objItem.OSType
    Wscript.Echo "OtherTypeDescription: " & objItem.OtherTypeDescription
    Wscript.Echo "PlusProductID: " & objItem.PlusProductID
    Wscript.Echo "PlusVersionNumber: " & objItem.PlusVersionNumber
    Wscript.Echo "Primary: " & objItem.Primary
    Wscript.Echo "QuantumLength: " & objItem.QuantumLength
    Wscript.Echo "QuantumType: " & objItem.QuantumType
    Wscript.Echo "RegisteredUser: " & objItem.RegisteredUser
    Wscript.Echo "SerialNumber: " & objItem.SerialNumber
    Wscript.Echo "ServicePackMajorVersion: " & objItem.ServicePackMajorVersion
    Wscript.Echo "ServicePackMinorVersion: " & objItem.ServicePackMinorVersion
    Wscript.Echo "SizeStoredInPagingFiles: " & objItem.SizeStoredInPagingFiles
    Wscript.Echo "Status: " & objItem.Status
    Wscript.Echo "SystemDevice: " & objItem.SystemDevice
    Wscript.Echo "SystemDirectory: " & objItem.SystemDirectory
    Wscript.Echo "TotalSwapSpaceSize: " & objItem.TotalSwapSpaceSize
    Wscript.Echo "TotalVirtualMemorySize: " & objItem.TotalVirtualMemorySize
    Wscript.Echo "TotalVisibleMemorySize: " & objItem.TotalVisibleMemorySize
    Wscript.Echo "Version: " & objItem.Version
    Wscript.Echo "WindowsDirectory: " & objItem.WindowsDirectory
Next
0
 
narmi2Author Commented:
Is that vb.net?
0
 
Ramesh SrinivasTechnical ConsultantCommented:
Nope. It's WMI.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
Ramesh SrinivasTechnical ConsultantCommented:
Well its vbscript using WMI :O
0
 
Ramesh SrinivasTechnical ConsultantCommented:
You can access all software by going through the registry of each machine. I believe it's something like:


Dim uninstallKey As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
        Dim rk As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "<YourMachineNameHere>")
        For Each skName As String In rk.GetSubKeyNames()
            Dim sk As RegistryKey = rk.OpenSubKey(skName)
            Console.WriteLine(sk.GetValue("DisplayName"))
Next


*Note: You will need the correct user account in order to do this.


regards,

KS
0
 
prakash_prkCommented:
you can also use the WMI extension provided by microsoft

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/posdmg/htm/usingcandmanagementextensions.asp

Regards
Prakash
0
 
Ramesh SrinivasTechnical ConsultantCommented:
If the code I previously posted doesn;t work than this will :O

Dim uninstallKey As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
        Dim rk As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "<YourMachineName>")

        Dim searchKey As RegistryKey = rk.OpenSubKey(uninstallKey)

        For Each skName As String In searchKey.GetSubKeyNames()
            Dim sk As RegistryKey = searchKey.OpenSubKey(skName)
            Dim str As String = sk.GetValue("DisplayName")
            Console.WriteLine(str)
        Next
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now