111

I've got a box running Win2k3 and some directions from Microsoft KB about SSL certificates, for IIS 5.0 and 6.0. How can I tell which version of IIS is currently installed?

Dave M
  • 4,494
  • 21
  • 30
  • 30
jldugger
  • 14,122
  • 19
  • 73
  • 129

13 Answers13

81

As a more general answer, not specifically aimed at your question, Microsoft has a support article which lists all old versions and the operating systems that provide each one.

IIS version   Built-in  
5.0           Windows 2000
5.1           Windows XP Pro
6.0           Windows Server 2003
7.0           Windows Vista and Windows Server 2008
7.5           Windows 7 and Windows Server 2008 R2
8.0           Windows 8 and Windows Server 2012

Current versions are on Wikipedia

8.5           Windows 8.1 and Windows Server 2012 R2
10.0 v1607    Windows Server 2016 and Windows 10.*
10.0 v1709    Windows Server 2016 v1709 and Windows 10.*
10.0 v1809    Windows Server 2019  and Windows 10.* October
Michael
  • 173
  • 9
Gavin McTaggart
  • 1,826
  • 16
  • 14
  • 18
    Unfortunately Microsoft haven't yet updated that page to include IIS 7.5. Here's an alternative reference which does include it: http://en.wikipedia.org/wiki/Internet_Information_Services – JV01 Feb 07 '11 at 13:45
  • @JV01, (Due to this page getting 100k+ of views....) It has already been updated to version 8.0. – Pacerier Aug 14 '15 at 04:56
  • 9
    Well yes, but now the MS article doesn't include IIS 8.5 or IIS 10 (the latter is included in Windows Server 2016 and Windows 10). Always a step or two behind... – JV01 Aug 19 '15 at 10:33
80

When you have IIS Manager open, you can click Help -> About to see the version.

IIS version in IIS Manager about box

Charles Roper
  • 459
  • 2
  • 7
  • 14
David d C e Freitas
  • 2,712
  • 1
  • 16
  • 13
  • 18
    Great answer. However, it's easy to miss the real IIS version and instead see only the version number for the actual IIS Manager. E.g., on my Windows 8.1, when I bring up that Help > About box, it would be easy to mistakenly read the version of IIS as 6.2. So I've added a screenshot to clarify where the real version number is. – Charles Roper Mar 24 '15 at 22:49
55

You can look at %SYSTEMROOT%\system32\inetsrv\inetinfo.exe (or inetmgr.exe or w3wp.exe). Right-click and get properties, click the Version tab.

You can also look at an HTTP response header

  1. telnet mywebserver 80
  2. type in HEAD / HTTP/1.0 [enter][enter]
  3. Look at the line that starts with Server:
gknicker
  • 103
  • 3
squillman
  • 37,618
  • 10
  • 90
  • 145
  • 1
    Interesting; it claims version 6.0. – jldugger May 20 '09 at 20:06
  • 2
    On XP Pro?? Never seen that... Mines says 5.1. – squillman May 20 '09 at 20:12
  • 1
    @jldugger: I doubt it. I tried to telnet 80 a XP machine. It's 5.1. You must have been connected to a Windows 2003 server. (typo in server name?) – splattne May 20 '09 at 20:16
  • 1
    We're all kinds of crazy around here. A few comments about your edit: 1. I think there's an unallowed space between / and HTTP 2. It just returns the normal HTML webpage; were you expecting something different? – jldugger May 20 '09 at 20:18
  • Ok so it turns out I'm stupid and remote desktop is confusing when full screened. I noticed the WinXP Pro from my own box and believed it was from the remote host. It's win2k3. – jldugger May 20 '09 at 20:20
  • Oops. Turns out I'm stupid too and used angle brackets in my original edit around the enters... – squillman May 20 '09 at 20:24
  • ANNND, make it HEAD instead of GET so you don't get the whole stinkin' home page, just the headers. – squillman May 20 '09 at 20:26
  • And, no. You want the whitespace between the / and HTTP. The / says to get the root of the site. Thus the change to HEAD... (sorry for the comment spam) – squillman May 20 '09 at 20:30
  • 6
    On Windows 2012 R2, there is no inetinfo.exe in %SYSTEMROOT%\system32\inetsrv. But the telnet method works. – Joe White Feb 09 '15 at 18:34
  • @JoeWhite, @ squillman, Same for me too. No `inetinfo.exe` in server 2012. What is the new name of `inetinfo.exe` in Server 2012? – Pacerier Aug 14 '15 at 05:02
  • The telnet method gives me: `Server: Microsoft/HTTPAPI/2.0`. That is not exactly the version of IIS. I'm on IIS 8.5. – Mads Skjern Nov 23 '16 at 09:48
  • On newer windows version, look at w3wp.exe – Bernard Vander Beken Jan 03 '19 at 15:29
18

Windows XP has IIS 5.1 installed, so use the IIS 5.0 procedure. See this article for an overview of IIS 5.1:

A look at IIS 5.1 in XP Pro - What's different from IIS 5?

IIS 5.1 is a feature only to be found on Microsoft's XP Pro operating system. It is not installable (reliably) on XP Home. Additionally, there are no plans to update IIS 5.0 on Windows 2000 to IIS 5.1.

IIS 5.1 is basically the same engine as IIS 5.0 but since XP is a client operating system, it has the built in limits that are customary for Microsoft’s client operating systems—such as connection limits and only one Web site. Even though based on IIS 5, there are significant differences from IIS 5.0 that you should know about.

You could also open a page in the browser which runs this simple asp Script:

<% 
    response.write(Request.ServerVariables("SERVER_SOFTWARE")) 
%>

As a side note: it is interesting that IIS (beginning with Windows Server 2000/version 5.0) can't be upgraded without upgrading the operating system. Every Windows version has it's own IIS version:

Windows NT 3.51          1.0
Windows NT 4             2.0-4.0
Windows Server 2000      5.0
Windows XP Professional  5.1
Windows Server 2003      6.0
Windows Vista            7.0
Windows Server 2008      7.0
Windows Server 2008 R2   7.5
Windows 7                7.5
Windows Server 2012      8.0
Windows 8                8.0
Windows Server 2012 R2   8.5
Windows 8.1              8.5
Windows Server 2019     10.0
andrej
  • 463
  • 4
  • 12
splattne
  • 28,348
  • 19
  • 97
  • 147
  • "only one Web site". Does that include Microsoft SharePoint Administration? Because if not, then there's clearly two websites running. – jldugger May 20 '09 at 20:07
  • Try to add more that to web site (not virtual directory or web apps under the default web in IIS 5.1 on Windows XP). You can't do that. – splattne May 20 '09 at 20:12
  • Server 2008 R2 7.5 – Saariko Aug 16 '12 at 06:41
  • IIS 7.5 Express can run on Windows XP and above while IIS 8.5 Express can run on Windows Vista SP1 and above - http://www.microsoft.com/en-us/download/details.aspx?id=1038 & http://www.microsoft.com/en-us/download/details.aspx?id=34679 – mvark Jun 13 '14 at 10:16
7

You should be able to determine the IIS version number from the following registry value: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\VersionString

This shows "Version 6.0" on my local machine.

reg.exe query HKLM\SOFTWARE\Microsoft\InetStp /v VersionString
Bernhard
  • 117
  • 4
5

Here, the updated version table to Windows 10 and Windows Server 2016:

IIS 1.0    Windows NT 3.51
IIS 2.0    Windows NT 4.0
IIS 3.0    Windows NT 4.0 SP3
IIS 4.0    Windows NT 4.0 Option Pack
IIS 5.0    Windows 2000
IIS 5.1    Windows XP Professional x32
IIS 6.0    Windows Server 2003
IIS 6.0    Windows Server 2003 R2
IIS 6.0    Windows XP Professional x64
IIS 7.0    Windows Server 2008 / Windows Vista
IIS 7.5    Windows Server 2008 R2 / Windows 7
IIS 8.0    Windows Server 2012 / Windows 8
IIS 8.5    Windows Server 2012 R2 / Windows 8.1
IIS 10.0   Windows Server 2016 / 2019 / Windows 10

And other methods would be:

Properties on the file: InetMgr.exe via GUI, or via PowerShell:

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("$env:SystemRoot\system32\inetsrv\InetMgr.exe").ProductVersion

Extracted from: http://www.sysadmit.com/2017/05/windows-iis-como-saber-la-version-instalada.html

andrej
  • 463
  • 4
  • 12
4

If you have curl and grep installed, e.g. through Cygwin, or from another machine running OS X or Linux, you can use the power of command line tools and avoid knowing where exactly to click in which situation:

 $ curl --silent -I http://microsoft.com/ |grep Server
 Server: Microsoft-IIS/8.5

Note there is no requirement to be on the server itself.

Also note: this only works if the application and/or server configuration does not set an alternate header. Often application developers or system administrators will turn off this header or set it to some other value in order to prevent attackers from seeing it - a form of security by obscurity.

Moshe Katz
  • 3,053
  • 3
  • 26
  • 41
the
  • 468
  • 8
  • 23
  • Right, so instead of knowing where to click, you have to know the command, and remember to install the supporting software. I do share your preference for command line tools, but your argument seems weak. – pabrams Aug 29 '16 at 20:48
  • Need an argument? You can do this from anywhere, no need for administrative access to the box itself. – the Aug 30 '16 at 08:31
  • Some may have this info hidden for security so it may not show up. – mindmischief Jan 24 '18 at 17:43
2

Just as a fun data point:

From 32-bit land:

Windows XP ships with IIS 5.1.

Windows Server 2003 with IIS 6.0.

But the x64 edition of Windows XP is based on the Windows Server 2003 SP1 codebase, and the version of IIS included in Windows XP Professional X64 Edition is IIS 6.0.

Crazy stuff, I know.

TristanK
  • 8,953
  • 2
  • 27
  • 39
2

Use PowerShell from the command line, like this

powershell "get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\  | select setupstring,versionstring"
AlexanderN
  • 133
  • 5
1

If you have no access what so ever to the back end of a machine you can try using NetCraft such as http://toolbar.netcraft.com/site_report?url=http://www.starbucks.com

There are enough little finger prints on the headers the machine gives off, that they can usually identify the signature of the machine, unless someone alters them on purpose.

1

You can also run this PowerShell script:

$w3wpPath = $Env:WinDir + "\System32\inetsrv\w3wp.exe"
$productProperty = Get-ItemProperty -Path $w3wpPath
Write-Host $productProperty.VersionInfo.ProductVersion

Source: https://gallery.technet.microsoft.com/how-to-obtain-versions-of-7875ac84

Michael
  • 129
  • 7
0

On the Uninstall Programs window in Windows 10:

enter image description here

kasperd
  • 29,894
  • 16
  • 72
  • 122
-1

Very simple to know the IIS Version installed on your system.

Simple type localhost on your browser and enter you are able to see the IIS version.