How do I find the version of another Windows machine in the local network?
6 Answers
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!– WindosJul 18, 2011 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
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. :)
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
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.