Windows Vista Forums

Script to retrieve file versions

  1. #1


    tke402 Guest

    Script to retrieve file versions

    hi,

    I found this script on Scripting Guy. However I would like for the window to
    have the results of three file versions. Here's what I have now. It shows in
    three seperate windows one at a time:

    strComputer = "Server1"

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set colFiles = objWMIService.ExecQuery _
    ("Select * from CIM_Datafile Where Name =
    'c:\\windows\\system32\\setup.exe'")

    For Each objFile in colFiles
    Wscript.Echo objFile.Version
    Next

    strComputer = "Server2"

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set colFiles = objWMIService.ExecQuery _
    ("Select * from CIM_Datafile Where Name =
    'c:\\windows\\system32\\setup.exe'")

    For Each objFile in colFiles
    Wscript.Echo objFile.Version
    Next

    strComputer = "Server3"

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set colFiles = objWMIService.ExecQuery _
    ("Select * from CIM_Datafile Where Name =
    'c:\\windows\\system32\\setup.exe'")

    For Each objFile in colFiles
    Wscript.Echo objFile.Version
    Next



      My System SpecsSystem Spec

  2.   


  3. #2


    mayayana Guest

    Re: Script to retrieve file versions

    Did you know that you don't need WMI for that?
    (Unless there's a problem using FSO across a network.
    I've never tried that.)

    -------------------
    Set FSO = CreateObject("Scripting.FileSystemObject")
    S = FSO.GetFileVersion("c:\windows\system32\setup.exe")
    -------------------

    If you want to show it all in one msgbox you can
    use a variable to concatenate the values as you collect
    them. Instead of using WScript.echo with each machine,
    you can do something like this:

    Dim sVer

    Set colFiles = objWMIService.ExecQuery _
    ("Select * from CIM_Datafile Where Name =
    'c:\\windows\\system32\\setup.exe'")

    For Each objFile in colFiles
    sVer = sVer & strComputer & " - " & objFile.Version & vbcrlf
    Next

    Do the same for each machine. Then at the end
    you can show one window with:

    MsgBox sVer

    The window will show a list like:

    Server1 - 1.055
    Server2 - 1.055
    Server3 - 1.061


    >
    > I found this script on Scripting Guy. However I would like for the window
    to

    > have the results of three file versions. Here's what I have now. It shows
    in

    > three seperate windows one at a time:
    >
    > strComputer = "Server1"
    >
    > Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    >
    > Set colFiles = objWMIService.ExecQuery _
    > ("Select * from CIM_Datafile Where Name =
    > 'c:\\windows\\system32\\setup.exe'")
    >
    > For Each objFile in colFiles
    > Wscript.Echo objFile.Version
    > Next
    >
    > strComputer = "Server2"
    >
    > Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    >
    > Set colFiles = objWMIService.ExecQuery _
    > ("Select * from CIM_Datafile Where Name =
    > 'c:\\windows\\system32\\setup.exe'")
    >
    > For Each objFile in colFiles
    > Wscript.Echo objFile.Version
    > Next
    >
    > strComputer = "Server3"
    >
    > Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    >
    > Set colFiles = objWMIService.ExecQuery _
    > ("Select * from CIM_Datafile Where Name =
    > 'c:\\windows\\system32\\setup.exe'")
    >
    > For Each objFile in colFiles
    > Wscript.Echo objFile.Version
    > Next
    >
    >


      My System SpecsSystem Spec


Script to retrieve file versions
Similar Threads
Thread Forum
How to retrieve the script name inside Powershell? PowerShell
how to test a script for compatibility with different Windows Versions VB Script
problem passing args to script 'There is no script engine for file extenstion' VB Script
How to retrieve the latest file PowerShell
Retrieve the path of the file PowerShell