16

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

shane
  • 285

6 Answers6

20

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
squillman
  • 7,756
  • 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
7

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 "
DavidPostill
  • 156,873
NetDreamz
  • 71
  • 1
  • 1
2

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).

Oliver Salzburg
  • 87,539
  • 63
  • 263
  • 308
2

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

machine_number_0001
machine_number_0002
machine_number_0013
machine_number_0101
machine_number_0111

(2) Do FOR instruction within CMD:

C:\Users\MrCMD> FOR /F %S IN ('TYPE ALL-MACHINES.TXT') DO SYSTEMINFO /S %S [enter]

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

Rhak Kahr
  • 201
1

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

Windos
  • 11,117
  • 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
0

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.