29

How can I determine the OS of a remote computer, given its computer name?

3
  • can you be more specific in what you are trying to accomplish?
    – Keltari
    Aug 15, 2011 at 3:23
  • 2
    I have the computer name. I want to know what OS it is running; either by magic, or using a software tool of some description.
    – Steve
    Aug 15, 2011 at 3:24
  • 2
    you can't do anything with it's name, but you can use an OS fingerprinting tool (such as NMAP) Aug 15, 2011 at 4:11

9 Answers 9

17

You can use nmap to probe the remote computer and based on it's responses to TCP packets (valid or invalid requests) nmap can infer what operating system it is using.

This is not 100% accurate, but probably the best you can do in the general case.

If you're limiting yourself to Windows only and you have credentials of an administrator account on the remote machine, you can use this method instead.

View system properties

To perform this procedure on a remote computer, right-click Computer Management (Local), click Connect to another computer, select Another computer, and then type in the name of the remote computer. You can then follow the steps in this procedure, starting at step 2, and substituting Computer Management (remote computername) for Computer Management (Local). You must be a member of the Administrators group, or you must have been delegated the appropriate authority, on the computer that you specify for remote computername.

And further to this, if your computers are joined to a domain then you can look at the computer accounts in Active Directory. These should tell you about the machine.

6
  • If I run Computer Management as a domain admin, connect to the remote computer, and right-click on Computer Management (remotehost) in the tree, I have Connect to Another Computer, All Tasks (connect), View (standard Explorer view choices), Export List, and Help. There is no Properties in the right-click menu.
    – Steve
    Aug 15, 2011 at 3:33
  • If I run Computer Management on my own computer, I don't have Properties in the right-click menu of Computer Management in the tree. My PC is running Win7 SP1 32-bit.
    – Steve
    Aug 15, 2011 at 3:35
  • I believe this is/was the correct method. Other documentation references it - microsoft.com/resources/documentation/windows/xp/all/proddocs/… - but I tried and got the same result as you on my Win7 box. I found right clicking on "WMI Control" under "Services And Applications" gave me a short summary of the remote machine. Aug 16, 2011 at 4:34
  • 4
    nmap is just coming to give the ports a hug... Aug 24, 2011 at 10:53
  • 2
    nmap -O -v IPADDRESS nmap.org/book/osdetect-usage.html
    – Ivan Chau
    Apr 26, 2016 at 3:59
7

Using cmd (Command prompt in windows Vista, XP, etc)

systeminfo /s IP.ADDRESS /u UserOnRemotePc

eg:

systeminfo /s 172.16.23.108 /u Student
1
  • 3
    This only works if the remote operating system is Windows.
    – Ramhound
    Feb 7, 2013 at 11:58
5

Systeminfo command shows os name and service pack number. you can run this command on the remote computer using psexec.

Source: Find Windows Version from command line

3

Given then information you have given, the answer is you can not determine a machine's OS by its name.

5
  • What about if we limit the possibilities to MS Windows machines?
    – Steve
    Aug 15, 2011 at 3:37
  • ' Specify NetBIOS name of the remote computer. strComputer = "TestComputer" Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOS in colOSes Wscript.Echo "Version: " & objOS.Version 'Version & build Wscript.Echo "OS Type: " & objOS.OSType Next
    – Keltari
    Aug 15, 2011 at 3:50
  • 1
    there are a lot of reasons why this script might not work though...
    – Keltari
    Aug 15, 2011 at 3:50
  • Do you have a source URL for this script? I get "Invalid Character" when I try and run it.
    – Steve
    Aug 15, 2011 at 4:31
  • vistax64.com/vb-script/…
    – Keltari
    Aug 15, 2011 at 4:35
2

You can do this with Windows PowerShell, which is installed by default in Windows 7. You can get to it from the system menu, under Accessories.

The command that you can use is...

Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2 -ComputerName <ipaddr_or_hostname> | Format-List -Property *

You can run this against a local or remote system by specifying the correct value for the ComputerName property.

You can filter the output for specific info by specifying which properties to display...

Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2 -ComputerName <ipaddr_or_hostname> | Format-List -Property Name, OSArchitecture, SerialNumber
4
  • I receive the message: Get-WmiObject : A parameter cannot be found that matches parameter name 'computername'. Same thing happens if I use the fully qualified hostname.domainname
    – Steve
    Aug 16, 2011 at 4:05
  • Try using 127.0.0.1 for ComputerName, and verifying that it runs correctly on localhost. If it does, try using the ipaddress of the remote machine. Aug 16, 2011 at 4:25
  • +1 This was exactly what I needed. Don't forget to include the final * Jun 11, 2015 at 13:48
  • This is assuming it is windows OS. Jul 20, 2017 at 1:25
2
WMIC /NODE:hostname OS

*you can supply alternative credentials as well.

wmic /NODE:hostname OS > C:\OS.txt
2

EASIEST METHOD:

  1. Click the Windows Start button and type msinfo32 and press Enter
  2. Click View > Remote Computer > Remote Computer on the Network
  3. Type machine name and click OK
2

Quick and simple, you can use the Windows Inventory interface

wmic /node: HOST_NAME os get caption
1
  • 4
    How is your answer different than old answer
    – clhy
    Nov 24, 2015 at 12:27
-2

A non-comprehensive solution was to simply open the C drive of the remote computer in Windows Explorer. The presence of Documents and Settings showed it to be WinXP, as we have no Win2K.

2
  • What about Windows Server 2003?
    – Synetech
    Aug 15, 2011 at 3:56
  • Well don’t look at me. Check the timeline; you got it two days after I saw this question.
    – Synetech
    Sep 16, 2011 at 5:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .