How do I find the version of another Windows machine in the local network?


As Josh King noted you can use srvinfo which is a Windows 2003 Resource Kit tool.

On Windows 7 you can use systeminfo

systeminfo /s remote_computer_name
  • Thanks for that, was trying to find a non server alternative but my Google wasn't strong enough! – Windos Jul 18 '11 at 22:05

To get just the hostname and OS from systeminfo pipe in findstr, this eliminates the other noise

systeminfo /s [machine name]|findstr /i "host OS "

nmap can perform remote OS detection.

It's not 100% accurate, but you'll have to see for yourself.

Here is an example result. I specifically picked a result that wasn't 100% accurate, but this machine is a Windows Server 2008.

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running (JUST GUESSING): Microsoft Windows Vista|2008|7 (98%)
Aggressive OS guesses: Microsoft Windows Vista SP0 or SP1, Server 2008 SP1, or Windows 7 (98%), Microsoft Windows Server 2008 (98%), Microsoft Windows 7 Professional (97%), Microsoft Windows Vista Business SP1 (93%), Microsoft Windows Vista Home Premium SP1 (93%), Microsoft Windows Server 2008 SP2 (91%), Microsoft Windows Vista Home Premium SP1, Windows 7, or Server 2008 (91%), Microsoft Windows 7 (90%)
No exact OS matches for host (test conditions non-ideal).


Thank you [squillman] :)

While you have so many machines to be inspected, just do this:

(1) Create TXT file contains all hostnames of your machines. Eg: ALL-MACHINES.TXT


(2) Do FOR instruction within CMD:


(3) Any comments for improvement are welcome. :)


If you have access to one of the Windows Server resource kits (2003 for sure, not sure about newer versions) you can use the Srvinfo command.

Srvinfo \\remote_compute_rname

You'll get a host of information from it, but what you're interest in is:

Product Name: Microsoft Windows XP Product Options: Professional

  • Thanks. Works for localhost but not for the other machines possibly because I'm not the admin in the network. Is there a workaround? – shane Jul 18 '11 at 22:02
  • 1
    @shane If you are not an admin, there is no program that will give you that info. – KCotreau Jul 18 '11 at 23:39

For those coming here that need to do many machines and want to use PowerShell:

Single Machine: Get-CimInstance Win32_OperatingSystem -ComputerName Machine Name | Select-Object CSName, Caption, BuildNumber, OSArchitecture

All Machines: Get-ADComputer -filter * | Foreach-Object {Get-CimInstance Win32_OperatingSystem -ComputerName $_.name -ErrorAction SilentlyContinue | Select-Object CSName, Caption, BuildNumber, OSArchitecture} | Format-Table -Property * -AutoSize

Assuming of course you have WinRM enabled. You can batch enable WinRM via PS too but that's another topic.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.