IIS (Internet Information Services) is Windows Server’s built-in web server. With IIS you can host websites and APIs, publish static and dynamic content (e.g. ASP.NET or classic ASP), and enable modules for logging, security, and performance.
IIS is a modular web server for HTTP(S), with optional modules for authentication, compression, WebSocket, FTP(S), and advanced logging. Thanks to its modular design, you only install what you need, keeping your server lean and manageable.
IIS is a standard component of Windows Server that can be enabled via Windows PowerShell, or the Windows Server ‘Add Roles and Features’ wizard.
Installing IIS in Windows Server
Install IIS via PowerShell
Step 1
Click the Windows Start button, type ‘PowerShell’, and click ‘Run as Administrator’.
Step 2
Run the following command to install IIS:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
You can install optional components at the same time by using a comma-separated list, for example:
Install-WindowsFeature -name Web-Server, Web-ASP -IncludeManagementTools
A complete overview of features you can install alongside IIS in this way can be found in the section ‘Overview of IIS role services and PowerShell names’. The Web-Ftp-Server feature is a separate but related role service and is therefore not listed in that overview.
Install IIS via the ‘Add Roles and Features’ wizard
Step 1
Connect to your Windows Server via Remote Desktop, the VPS console (VPS) or the OpenStack console (OpenStack instance).
Step 2
Click the Windows Start button and then ‘Server Manager’.
Step 3
Then click ‘Add roles and features’.
Step 4
You will now see the ‘Before You Begin’ page. You can choose not to see this page again when adding roles & features in future. Click ‘Next’ after reviewing the points under ‘before you continue’.
Step 5
Under ‘Installation Type’ you can choose between ‘Role-based or feature-based’ and ‘Remote Desktop Services installation’. Choose ‘Role-based or feature-based’ and proceed to the next step.
Roles add software aimed at specific tasks, such as hosting websites, to Windows Servers; features add extra functionality to that software.
Step 6
Next, choose which VPS you want to install on. By default, the VPS on which you’re running the installer will be selected. Click ‘Next’ to continue.
If you use a server pool to install and manage roles from a central server, you’ll see multiple servers here and can select the desired server.

Step 7
Select ‘Web Server (IIS)’ in the list of features.

You’ll immediately see a pop-up window asking whether you want to install the required features for IIS. Click ‘Add Features’ to accept this.

Step 8
Don’t make any changes in the ‘Features’ view and click ‘Next’.

Also skip the introduction page for the Web Server Role (IIS) installation.

In the ‘Role Services’ view, select any optional IIS components or Role Services you wish to install, such as the FTP Server, and click ‘Next’.

Step 9
Optionally tick ‘Restart the destination server automatically if required’ and click ‘Install’ to confirm your choices from the previous steps and install IIS.

Overview of IIS role services and PowerShell names
The tables below show, per category, the display name, the corresponding -Name
for Install-WindowsFeature
, and a short description.
Common HTTP Features
Feature | PowerShell name | Short description |
---|---|---|
Default Document | Web-Default-Doc | Serves default documents (e.g. index.html ). |
Directory Browsing | Web-Dir-Browsing | Displays directory contents when no default document exists. |
HTTP Errors | Web-Http-Errors | Custom error pages for HTTP status codes. |
Static Content | Web-Static-Content | Delivers static files (HTML, CSS, JS, images). |
HTTP Redirection | Web-Http-Redirect | Manages 3xx redirects at site/folder level. |
WebDAV Publishing | Web-DAV-Publishing | Publish/edit content via WebDAV. |
Health & Diagnostics
Feature | PowerShell name | Short description |
---|---|---|
HTTP Logging | Web-Http-Logging | Standard IIS traffic logs to files. |
Custom Logging | Web-Custom-Logging | Custom log format via plug-in. |
Logging Tools | Web-Log-Libraries | Additional logging tools and libraries. |
ODBC Logging | Web-ODBC-Logging | Logs to a database via ODBC (be mindful of performance). |
Request Monitor | Web-Request-Monitor | Real-time request monitoring. |
Tracing | Web-Http-Tracing | FREB (Failed Request Tracing) for in-depth diagnostics. |
Performance
Feature | PowerShell name | Short description |
---|---|---|
Static Content Compression | Web-Stat-Compression | Compresses static content (gzip/deflate). |
Dynamic Content Compression | Web-Dyn-Compression | Compresses dynamic responses. |
Security
Feature | PowerShell name | Short description |
---|---|---|
Request Filtering | Web-Filtering | Blocks unwanted URL patterns and extensions. |
Basic Authentication | Web-Basic-Auth | HTTP Basic authentication. |
Windows Authentication | Web-Windows-Auth | Integrated Windows authentication (Kerberos/NTLM). |
Digest Authentication | Web-Digest-Auth | HTTP Digest authentication. |
URL Authorization | Web-Url-Auth | Per-URL authorisation rules. |
IP and Domain Restrictions | Web-IP-Security | Allow/deny access by IP/domain. |
IIS Client Certificate Mapping Authentication | Web-Cert-Auth | Certificate mapping in IIS itself (not AD mapping). |
AD Client Certificate Mapping Authentication | Web-Client-Auth | Certificate mapping against Active Directory. |
Centralized SSL Certificate Support | Web-CertProvider | Central certificate store for multiple sites. |
Application Development
Feature | PowerShell name | Short description |
---|---|---|
.NET Extensibility 3.5 | Web-Net-Ext | IIS integration with .NET 3.5 (requires .NET 3.5). |
.NET Extensibility 4.8 | Web-Net-Ext45 | IIS integration with .NET 4.x. |
ASP | Web-ASP | Classic ASP runtime. |
ASP.NET 3.5 | Web-Asp-Net | ASP.NET on .NET 3.5 (requires .NET 3.5). |
ASP.NET 4.x | Web-Asp-Net45 | ASP.NET on .NET 4.x. |
CGI | Web-CGI | CGI/FastCGI for e.g. PHP. |