VBS Script – Get Monitor Serial Number Remotely

The following script will remotely connect to a computer on your network, query the registy for the monitor details and output what it finds.

It can be used to remotely get the monitor make, model and serial number from any computer on your network.

There are two versions of the script available, one for a single computer or one for a list of computers.

Get monitor serial number for a single computer

Output:

Download: Get Monitor Info – remotely.vbs

When you run the script it will prompt for the remote computer name:

After entering the remote computer name it will return the information on the attached monitors.

This computer has two monitors, so the information is separated by [Monitor_1] and [Monitor_2]

 

Get monitor serial number for a list of computers

Note – you require Microsoft Excel installed on the computer are you running this script.

Download: VBS – Get Monitor Serial Number Remotely – Machine List.zip

  1. After downloading and extracting the ZIP file you will find two files,
    1. MachineList.txt – which holds the list of computers to get the serial numbers from, each computer name needs to be on a new line
    2. Get_Monitor Info – remotely (MachineList).vbs – the script to run
  2. Update MachineList with the list of computers
  3. Run ‘Get_Monitor Info – remotely (MachineList).vbs’
  4. Microsoft Excel will load and begin to add the header row then the details of each computer
  5. If a computer is online (available on the network) its details will be recorded then it is removed from MachineList.txt
  6. If a computer is offline it is marked as ‘Offline’ in the excel document and it remains in MachineList, so you can run the script later when the computer is online.

Related Articles

25 comments on “VBS Script – Get Monitor Serial Number Remotely

  1. Hello and thanks a lot for the great script!
    Unfortunately all clients are shown as OFFLINE in the created Excel file. Windows 7 and Windows 10, Firewall is already turned off.
    Where I am stumbling over?

    Regards
    Jay

  2. excellent script but how can I change it so that the outplut is to the clipboard so I can paste it somewhere else………………..or output to a text file?

    this question applies to “Get monitor serial number for a single computer” at the very beginning of the page

    Hope someone can help 🙂

  3. Dear all, have you tested Get Monitor Info – remotely.vbs on Windows 10? It’s not working. It does not bring any monitor info. Only [Monitor_1] Monitor=Not Found
    This is a great script that I used to run very often on Windows 7.

  4. hi! first of all thank you for this script, it helps us determine the pc model, pc serial and the current logged on user.
    however, it does not display any monitor information. can u pls help? most of our computers on windows 10
    thank you

    1. It looks like things have changed in Windows 10 for how the ‘active’ monitors are recorded in the computers registry. At the moment I can get it to get the monitor details for all monitors they have connected to the computer, not just the current ones. I’ll see if I can figure out a fix for Windows 10.

  5. Hi, can i get vbscript to get all HW .Screen Model , logged user, machine S.N#, machine model, HDD zise , Ram size , number or RAM installed,
    MAC Address , Operating System , HD Free Space [GB], HD Used Space [GB], CPU Speed, USB devices installed, HD S/N, HD Model, ect..

  6. Hi, i had the same problem like you and by reading the code i realyze that in this part

    ‘ ——— Check If PC is on ————-
    Set WshShell = WScript.CreateObject(“WScript.Shell”)
    Set WshExec = WshShell.Exec(“ping -n 1 -w 1000 ” & strComputer) ‘send 3 echo requests, waiting 2secs each
    strPingResults = LCase(WshExec.StdOut.ReadAll)
    ‘—————————————————————
    the varaible strPingResults have to contains reply from but i’m in a french environement and the reply of ping is in french so i just replace “reply from” by “réponse de” and i was not enough to make it work because of accented characters so the good formulation was

    If InStr(strPingResults, “r” & chr(130) & “ponse de”) Then
    ‘Successful ping

    char(130) = é .
    hope this help.
    and by the way thank for the script

Leave a Reply

Your email address will not be published.