How To Install IIS In Windows Server 2016

Here we’re going to show you how to install the Internet Information Services (IIS) web server version 10.0 in Microsoft’s Windows Server 2016 operating system.

This can be done both with PowerShell or through the GUI, we’ll cover both methods here.


Install IIS With PowerShell

If you don’t have the GUI installed or just want to use the PowerShell command line interface (CLI) instead, follow these steps. This method is a lot faster than going through all of the GUI options.

  1. Open PowerShell with administrative privileges and run the Install-WindowsFeature cmdlet as shown below.
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    

    Windows Server 2016 Install IIS PowerShell

    Here we include the management tools so that you can manage IIS on this server, as these are generally installed when using the GUI, making this PowerShell command equivalent with the GUI method below. If you do not plan on managing IIS through this server then you may prefer to not include this option.

  2. Once the installation has succeeded, you’ll be returned to the PowerShell prompt. At this point IIS should be running on port 80 by default with the firewall rule “World Wide Web Services (HTTP Traffic-In)” enabled in Windows firewall automatically.
  3. We can perform a simple test by opening up a web browser and browsing to the server that we have installed IIS on. You should see the default IIS page.

    Windows Server 2016 IIS default web page

Install IIS Through GUI

If your server has the graphical user interface component installed you can also install IIS by following these steps.

  1. Open Server Manager, this can be found in the start menu. If it’s not there simply type “Server Manager” with the start menu open and it should be found in the search.

    Server Manager Windows Server 2016

  2. Click the “Add roles and features” text.

    Server Manager Add Roles And Features Windows Server 2016

  3. On the “Before you begin” window, simply click the Next button.

    Server Manager Before You Begin Windows Server 2016

  4. On the “Select installation type” window, leave “Role-based or feature-based installation” selected and click Next.

    Select Installation Type Windows Server 2016

  5. As we’re installing to our local machine, leave “Select a server from the server pool” with the current machine selected and click Next. Alternatively you can select another server that you are managing from here, or a VHD.

    Select Destination Server Windows Server 2016

  6. From the “Select server roles” window, check the box next to “Web Server (IIS)”. Doing this may open up a new window advising that additional features are required, simply click the “Add Features” button to install these as well. Click Next back on the Select server roles menu once this is complete.

    Select Server Roles - Windows Server 2016

    Add Required Features - Windows Server 2016

  7. We will not be installing any additional features at this stage, so simply click Next on the “Select features” window.

    Select Features - Windows Server 2016

  8. Click Next on the “Web Server Role (IIS)” window after reading the information provided.

    Web Server Role (IIS) - Windows Server 2016

  9. At this point on the “Select role services” window you can install additional services for IIS if required. You don’t have to worry about this now as you can always come back and add more later, so just click Next for now to install the defaults.

    Seelct Role Services - Windows Server 2016

  10. Finally on the “Confirm installation selections” window , review the items that are to be installed and click Install when you’re ready to proceed with installing the IIS web server.

    Confirm Installation Selections - Windows Server 2016

    No reboot should be required with a standard IIS installation, however if you remove the role a reboot will be needed.

  11. Once the installation has succeeded, click the close button. At this point IIS should be running on port 80 by default with the firewall rule “World Wide Web Services (HTTP Traffic-In)” enabled in Windows firewall automatically.
  12. Installation Progress - Windows Server 2016

  13. We can perform a simple test by opening up a web browser and browsing to the server that we have installed IIS on. You should see the default IIS page.

    Windows Server 2016 IIS default web page

As you can hopefully see, it’s quite a lot faster to use PowerShell to perform the same task.


Summary

As shown we can easily install the IIS web server in Windows Server 2016 with both the PowerShell command line or the graphical user interface.

Leave a comment ?

17 Comments.

  1. Perfect instructions thank you.

  2. One minor edit. Do not use PowerShell x86.

    • I was getting some errors in running a script and saw your note not to used PS x86. I switched to ISE and it corrected the problem.

  3. Thank you for making it really simple.

  4. How to check the updates related to IIS in windows server 2016

  5. Sweet thanks for the help

  6. Very helpful. Thank you

  7. Excellent explanation

  8. Hi,

    one question:
    What can i do if IIS Express is installed, but i need the “real” IIS instead?

    I thought it will install the normal IIS, if i go through the guy – unfortunately, instead IIS Express is installed :-(

    Regards,
    Ralf

    • Honestly not too sure, is Express needed? You could try uninstall it then add the IIS role, assuming you can’t just add the full IIS role on top of the existing express.

  9. Hi Jarrod,

    Thank You for making this visually useful and simple guide ;)

  10. Great explanation. Thank you!

  11. As a documentation obsessive, this was great! Appropriate and complete illustrations and each pop-up accounted for with a response. Thanks!

  12. How can I install web IIS features without an internet connection?

  13. Fantastic instructions. Thanks!

  14. Hi, I am trying to ingest IIS logs to ELK for monitoring, when IIS is down for few min need to get an alert.
    Could you help me how to achieve this.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>