Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


iis (106) Versions 7.5.0

Installs/Configures Windows IIS

cookbook 'iis', '= 7.5.0', :supermarket
cookbook 'iis', '= 7.5.0'
knife supermarket install iis
knife supermarket download iis
Quality -%

iis Cookbook

Cookbook Version
CI State


Installs and configures Microsoft Internet Information Services (IIS) 7.0 and later


This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit or come chat with us on the Chef Community Slack in #sous-chefs.



  • Windows Server 2016
  • Windows Server 2019


  • Chef 12.14+


  • windows if running on chef < 16


  • node['iis']['home'] - IIS main home directory. default is %WINDIR%\System32\inetsrv
  • node['iis']['conf_dir'] - location where main IIS configs lives. default is %WINDIR%\System32\inetsrv\config
  • node['iis']['pubroot'] - . default is %SYSTEMDRIVE%\inetpub
  • node['iis']['docroot'] - IIS web site home directory. default is %SYSTEMDRIVE%\inetpub\wwwroot
  • node['iis']['cache_dir'] - location of cached data. default is %SYSTEMDRIVE%\inetpub\temp



These recipies still exist but are highly likely to be removed in future major releases of this cookbook.

default recipe

Installs and configures IIS 7.0/7.5/8.0 using the default configuration.

mod_* recipes

This cookbook also contains recipes for installing individual IIS modules (extensions). These recipes can be included in a node's run_list to build the minimal desired custom IIS installation.

  • mod_aspnet - installs ASP.NET runtime components
  • mod_aspnet45 - installs ASP.NET 4.5 runtime components
  • mod_auth_basic - installs Basic Authentication support
  • mod_auth_windows - installs Windows Authentication (authenticate clients by using NTLM or Kerberos) support
  • mod_compress_dynamic - installs dynamic content compression support. PLEASE NOTE - enabling dynamic compression always gives you more efficient use of bandwidth, but if your server's processor utilization is already very high, the CPU load imposed by dynamic compression might make your site perform more slowly.
  • mod_compress_static - installs static content compression support
  • mod_ftp - installs FTP service
  • mod_iis6_metabase_compat - installs IIS 6 Metabase Compatibility component.
  • mod_isapi - installs ISAPI (Internet Server Application Programming Interface) extension and filter support.
  • mod_logging - installs and enables HTTP Logging (logging of Web site activity), Logging Tools (logging tools and scripts) and Custom Logging (log any of the HTTP request/response headers, IIS server variables, and client-side fields with simple configuration) support
  • mod_management - installs Web server Management Console which supports management of local and remote Web servers
  • mod_security - installs URL Authorization (Authorizes client access to the URLs that comprise a Web application), Request Filtering (configures rules to block selected client requests) and IP Security (allows or denies content access based on IP address or domain name) support.
  • mod_tracing - installs support for tracing ASP.NET applications and failed requests.

Note: Not every possible IIS module has a corresponding recipe. The foregoing recipes are included for convenience, but users may also place additional IIS modules that are installable as Windows features into the node['iis']['components'] array.


This project exists thanks to all the people who contribute.


Thank you to all our backers!


Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Dependent cookbooks

windows >= 4.1.0

Contingent cookbooks

asp_core Applicable Versions
certificate_services Applicable Versions
iis-lb Applicable Versions
iis-packages-server Applicable Versions
iis_urlrewrite Applicable Versions
nopcommerce Applicable Versions
php Applicable Versions
proget Applicable Versions
sitecore Applicable Versions
tfs Applicable Versions
tfs 1.20160723.8
tfs 1.20160723.9
tfs 1.20160723.10
tfs 1.20160723.11
tfs 1.20160724.1
tfs 1.20160731.1
tfs 1.20160801.1
tfs 1.20160802.1
tfs 1.20160824.1
tfs 1.20160825.1
tfs 1.20160825.2
tfs 1.20160826.1
tfs 1.20160826.2
tfs 1.20160826.3
tfs 1.20160826.4
tfs 1.20160826.5
tfs 1.20160826.6
tfs 1.20160826.7
tfs 1.20160826.8
tfs 1.20160826.9
tfs 1.20160826.10
tfs 1.20160827.1
tfs 1.20160828.1
tfs 1.20160828.2
tfs 1.20160828.3
tfs 1.20160828.4
tfs 1.20160828.5
tfs 1.20160828.6
tfs 1.20160828.7
tfs 1.20160828.8
tfs 1.20160830.1
tfs 1.20160830.2
tfs 1.20160831.1
tfs 1.20160831.2
tfs 1.20160831.3
tfs 1.20160831.4
tfs 1.20160831.5
tfs 1.20160831.6
tfs 1.20160831.7
tfs 1.20160831.8
tfs 1.20160831.9
tfs 1.20160831.10
tfs 1.20160831.11
tfs 1.20160903.1
tfs 1.20160903.2
tfs 1.20160903.3
tfs 1.20160903.4
tfs 1.20160903.5
tfs 1.20160903.6
tfs 1.20160903.7
tfs 1.20160903.8
tfs 1.20160904.1
tfs 1.20160904.2
tfs 1.20160904.3
tfs 1.20160904.4
tfs 1.20160904.5
tfs 1.20160904.6
tfs 1.20160904.7
tfs 1.20160904.8
tfs 1.20160907.1
tfs 1.20160910.1
tfs 1.20160910.2
tfs 1.20160911.1
tfs 1.20160920.1
tfs 1.20161023.1
tfs 1.20161023.2
tfs 1.20161103.1
tfs 1.20161103.2
tfs 1.20161104.1
tfs 1.20161106.1
tfs 1.20161112.2
tfs 1.20161112.3
tfs 1.20161113.1
tfs 1.20161118.1
tfs 1.20161118.2
tfs 1.20161120.1
tfs 1.20161120.2
tfs 1.20161122.1
tfs 1.20161122.2
tfs 1.20161122.3
tfs 1.20161122.4
tfs 1.20161123.1
tfs 1.20161123.2
tfs 1.20161123.3
tfs 1.20161123.4
tfs 1.20161123.5
tfs 1.20161123.6
tfs 1.20161123.7
tfs 1.20161123.8
tfs 1.20161123.9
tfs 1.20161123.10
tfs 1.20161124.1
tfs 1.20161126.1
tfs 1.20161126.2
tfs 1.20161126.3
tfs 1.20161127.1
tfs 1.20161127.2
tfs 1.20161127.3
tfs 1.20161130.1
tfs 1.20161130.2
tfs 1.20161201.1
tfs 1.20161202.1
tfs 1.20161202.2
tfs 1.20161202.3
tfs 1.20161202.4
tfs 1.20161203.1
tfs 1.20161203.2
tfs 1.20161203.3
tfs 1.20161204.1
tfs 1.20170204.3
tfs 1.20170205.1
tfs 1.20170224.1
tfs 1.20170224.2
tfs 1.20170304.1
tfs 1.20170304.2
tfs 1.20170304.3
tfs 1.20170305.1
tfs 1.20170313.1
tfs 1.20170313.2
tfs 1.20170314.1
tfs 1.20170314.2
tfs 1.20170314.3
tfs 1.20170314.4
tfs 1.20170314.5
tfs 1.20170315.1
tfs 1.20170315.2
tfs 1.20170321.1
tfs 1.20170321.2
tfs 1.20170321.3
tfs 1.20170324.1
tfs 1.20170324.2
tfs 1.20170325.1
tfs 1.20170325.2
tfs 1.20170325.3
tfs 1.20170327.1
tfs 1.20170327.2
tfs 1.20170327.3
tfs 1.20170408.1
tfs 1.20170409.1
tfs 1.20170409.2
tfs 1.20170409.3
tfs 1.20170409.4
tfs 1.20170409.5
tfs 1.20170409.6
tfs 1.20170409.7
tfs 1.20170411.1
tfs 1.20170422.1
tfs 1.20170423.1
tfs 1.20170423.2
tfs 1.20170517.1
tfs 1.20170527.1
tfs 1.20170527.2
tfs 1.20170527.3
tfs 1.20170527.4
tfs 1.20170527.5
tfs 1.20170527.6
webdeploy Applicable Versions
wordpress Applicable Versions
wsus-server Applicable Versions

iis Cookbook CHANGELOG

This file is used to list changes made in each version of the iis cookbook.

7.5.0 - 2021-02-11

  • Fixed iis_pool server-level app pool default value inheritance

7.4.0 - 2021-01-10

  • Adoption by Sous-chefs
  • Fixes to tests
  • Migrated all documention into seperate files for resources
  • Added note about next major removing recipes

7.3.1 (2020-09-15)

  • Property of pool resource that uses a node attribute value now evaluated lazily - @dave-q
  • Cookstyle 6.15.3 Fixes - @xorimabot
  • Standardise files with files in chef-cookbooks/repo-management - @xorimabot
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:114:5 convention: Style/RedundantAssignment
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:121:1 convention: Layout/EmptyLinesAroundMethodBody
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:122:1 convention: Layout/EmptyLines
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:122:1 convention: Layout/EmptyLinesAroundMethodBody
  • resolved cookstyle error: test/integration/app/libraries/iis_app.rb:122:1 convention: Layout/TrailingWhitespace

7.3.0 (2020-03-06)

  • Cookstyle fixes - @tas50
  • extend config_property to support setting multiple values - @rlaveycal
  • Remove deprecated metadata - @tas50
  • Don't use node.normal in the specs - @tas50
  • Adds support for configuring environment variables on app pools on IIS 10+ - @jakauppila

7.2.0 (2019-01-02)

  • Add a new iis_manager resource to enable users to set permissions for remote management of IIS
  • Resolve a deprecation warning in config_property

7.1.1 (2018-10-25)

  • Fix password containing xml entities like & are set every run
  • Fix passwords with quotation marks do not get set correctly
  • Renamed the kitchen files and use non-private boxes

7.1.0 (2018-07-19)

  • iis_pool: Updated cmd to clear out username and password when changing to a different Identity Type
  • Added new config_property resource which uses powershell and is fully idempotent.

7.0.0 (2018-05-29)

Breaking Changes

  • Removed support for Windows 2008 R1 as this is no longer supported by Microsoft or Chef
  • We now require Chef 12.14 or later as we are specifying sensitive on password properties so these aren't sent to Chef Analytics or Automate
  • Removed ChefSpec matchers that are autogenerated by ChefSpec now
  • Increased the Windows cookbook requirement to version 4.1+ which fixed many bugs in feature installation and matches the code in Chef 14
  • All helper methods have been moved from Opscode::IIS to IISCookbook

Other Changes

  • Added a new resource to install IIS: iis_install. This makes writing your own resource driven cookbooks just a tiny bit easier
  • Added a name property :pool_name to the pool resource to allow you to use friendly resource names and avoid resource cloning
  • Added testing on Windows 2016
  • Removed unused new_value? and new_or_empty_value? helpers methods
  • Fixed a bug in iis_site that stopped site from being updated on port update
  • Fixed site resource defaulting the log_directory when not specified, thus no longer inheriting the server default
  • Removed checks for EOL platforms to speed up runs
  • Removed some Chef 11-isms from the readme
  • Added tests that installs and adds an HTTP Module (#410)
  • Resolved a new FC118 foodcritic warning
  • Fixed the installation of HTTP Tracing in the mod_tracing recipe
  • Updated .rubocop.yml file for the new Cookstyle in DK 3.0
  • Updated the maintainers list for the current maintainers

6.8.1 (2018-04-03)

  • Fixed site resource defaulting the log_directory when not specified, thus no longer inheriting the server default

6.8.0 (2017-10-18)

6.7.3 (2017-09-08)

  • Add better documentation for the options parameter (#383)
  • Resolve a Chef 14 deprecation warning

6.7.2 (2017-06-21)

  • Fix FTP issue with iis_site resource

6.7.1 (2017-06-09)

6.7.0 (2017-06-09)

6.6.0 (2017-06-01)

  • Convert iis_module to a custom resource

6.5.3 (2017-05-17)

  • Refactor iis_vdir name property to application_name
  • Resolves a bug in iis_vdir also adds more liberty in config

6.5.2 (2017-05-15)

6.5.1 (2017-05-12)

6.5.0 (2017-05-10)

6.4.1 (2017-05-05)

6.4.0 (2017-05-04)

  • Convert iis_section to a custom resource
  • Resolve issue with iis_pool

6.3.1 (2017-04-26)

6.3.0 (2017-04-24)

  • Convert iis_pool to a custom resource
  • Convert iis_vdir to a custom resource
  • Bug fix for log function change to Chef::Log

6.2.0 (2017-04-18)

  • Convert iis_site to a custom resource

6.1.0 (2017-04-14)

  • Convert iis_config to a custom resource

6.0.1 (2017-04-07)

  • Fix undefined method site_identifier with iis_app resource.

6.0.0 (2017-04-06)

  • Rewrite of iis_app resource to use custom resources.
  • Addition of testing for iis_app resource.

5.1.0 (2017-03-20)

  • Require at least windows 2.0 cookbook
  • Run integration testing in Appveyer
  • Switched testing to Inspec from pester/ServerSpec combo
  • Removed the empty iis_test cookbook

5.0.8 (2017-03-13)

5.0.7 (2017-03-07)

5.0.6 (2017-02-24)

5.0.5 (2016-11-21)

5.0.4 (2016-10-11)

  • fixed adding an app pool to a site - This fixes a bug where adding an app pool to a site causes an error. This was using the 'add app' where we are working with a site and the syntax is slightly different according to this documentation.

5.0.3 (2016-10-10)

  • Log event on recycle - This allows you to specify which events you want to log on recycle. This also changes this so that it defaults to the standard nothing, which means you will need to add this attribute if you are depending on it.

5.0.2 (2016-10-07)

5.0.1 (2016-09-21)

  • Fix mod_management to include dependencies (#293)

5.0.0 (2016-09-06)

  • Adding 2k12 version flag to the windows_feature resource (#291)
  • Testing updates
  • Avoid deprecation warnings in the specs
  • Require Chef 12+

4.2.0 (2016-08-09)

  • Feature pool recycle virtual memory (#288)

v4.1.10 (2016-06-29)

v4.1.9 (2016-06-26)

v4.1.8 (2016-04-15)

  • Fixed smp_processor_affinity_mask throwing deprecation warnings
  • Added additional chefspec tests
  • Updated testing dependencies to the latests
  • Disabled FC059 rule for now

v4.1.7 (2016-03-25)

v4.1.6 (2016-02-01)

v4.1.5 (2015-11-18)

  • Resolves issues with iis_root #222

v4.1.4 (2015-11-2)

  • Re-added functionality for iis_pool auto_start, this was a breaking change

v4.1.3 (2015-10-30)

  • Resolves Robucop issues
  • Bug Fix for #217

v4.1.2 (2015-10-21)

  • Bug fixes for application pool provider and site provider
  • Added the ability to detect the IIS Version, allowing for some properties to only exist for specific IIS versions
  • Fixed issue with Win32 being required on linux
  • Added support for mimeTypes and defaultDocuments on iis_sites
  • Added iis config set and clear abilities

v4.1.1 (2015-05-07)

  • Detects changes in the physical path of apps.
  • Adds support for gMSA identity.
  • Performing add on a site will now reconfigure it if necessary.
  • Lock and unlock commands on configuration sections now use -commit:apphost.
  • Fix issue where popeline_mode was ignored during configuration of a pool.

v4.1.0 (2015-03-04)

  • Removed iis_pool attribute 'set_profile_environment' incompatible with < IIS-8.
  • Added pester test framework.
  • Condensed and fixed change-log to show public releases only.
  • Fixed bug where bindings were being overwritten by :config.
  • Code-cleanup and cosmetic fixes.

v4.0.0 (2015-02-12)

  • #91 - bulk addition of new features

    • Virtual Directory Support (allows virtual directories to be added to both websites and to webapplications under sites).
    • section unlock and lock support (this is used to allow for the web.config of a site to define the authentication methods).
    • fixed issue with :add on pool provider not running all config (this was a known issue and is now resolved).
    • fixed issue with :config on all providers causing application pool recycles (every chef-client run).
    • moved to better method for XML checking of previous settings to detect changes (changed all check to use xml searching with appcmd instead of the previous method [none]).
  • Improved pool resource with many more apppool properties that can be set.

  • Fixed bug with default attribute inheritance.

  • New recipe to enable ASP.NET 4.5.

  • Skeleton serverspec+test-kitchen framework.

  • Added Berksfile, Gemfile and .kitchen.yml to assist developers.

  • Fixed issue [#107] function is_new_or_empty was returning reverse results.

  • Removed dependency on "chef-client", ">= 3.7.0".

  • Changed all files to UTF-8 file format.

  • Fixed issue with iis_pool not putting ApplicationPoolIdentity and username/password.

  • [#98] Fixed issues with bindings.

  • added backwards compatibility for chef-client < 12.x.x Chef::Util::PathHelper.

v2.1.6 (2014-11-12)

  • [#78] Adds new_resource.updated_by_last_action calls

v2.1.5 (2014-09-15)

  • [#68] Add win_friendly_path to all appcmd.exe /physicalPath arguments

v2.1.4 (2014-09-13)

  • [#72] Adds chefspec matchers
  • [#57] Fixes site_id not being updated on a :config action

v2.1.2 (2014-04-23)

  • [COOK-4559] Remove invalid UTF-8 characters

v2.1.0 (2014-03-25)

[COOK-4426] - feature order correction for proper installation [COOK-4428] - Add IIS FTP Feature Installation

v2.0.4 (2014-03-18)

  • [COOK-4420] Corrected incorrect feature names for mod_security

v2.0.2 (2014-02-25)

  • [COOK-4108] - Add documentation for the 'bindings' attribute in 'iis_site' LWRP

v2.0.0 (2014-01-03)

Major version bump


Adding extra windows platform checks to helper library



  • COOK-4138 - iis cookbook won't load on non-Windows platforms



  • COOK-3634 - provide ability to set app pool managedRuntimeVersion to "No Managed Code"



  • COOK-3922 - refactor IIS cookbook to not require WebPI



  • COOK-3770 - Add Enabled Protocols to IIS App Recipe


New Feature



  • COOK-3232 - Allow iis_app resource :config action with a virtual path



  • [COOK-2370]: add MVC2, escape application_pool and add options for
  • recycling
  • [COOK-2694]: update iis documentation to show that Windows 2012 and
  • Windows 8 are supported


  • [COOK-2325]: load_current_resource does not load state of pool
  • correctly, always sets running to false
  • [COOK-2526]: Installing IIS after .NET framework will leave
  • installation in non-working state
  • [COOK-2596]: iis cookbook fails with indecipherable error if EULA
  • not accepted


  • [COOK-2181] -Adding full module support to iis cookbook


  • [COOK-2084] - Add support for additional options during site creation
  • [COOK-2152] - Add recipe for IIS6 metabase compatibility


  • [COOK-2050] - IIS cookbook does not have returns resource defined


  • [COOK-1251] - Fix LWRP "NotImplementedError"


  • [COOK-1301] - Add a recycle action to the iis_pool resource
  • [COOK-1665] - app pool identity and new node[iis][component] attribute
  • [COOK-1666] - Recipe to remove default site and app pool
  • [COOK-1858] - Recipe misspelled


  • [COOK-1061] - iis_site doesn't allow setting the pool
  • [COOK-1078] - handle advanced bindings
  • [COOK-1283] - typo on pool
  • [COOK-1284] - install iis application initialization
  • [COOK-1285] - allow multiple host_header, port and protocol
  • [COOK-1286] - allow directly setting which app pool on site creation
  • [COOK-1449] - iis pool regex returns true if similar site exists
  • [COOK-1647] - mod_ApplicationInitialization isn't RC


  • [COOK-1012] - support adding apps
  • [COOK-1028] - support for config command
  • [COOK-1041] - fix removal in app pools
  • [COOK-835] - add app pool management
  • [COOK-950] - documentation correction for version of IIS/OS


  • Ruby 1.9 compat fixes
  • ensure carriage returns are removed before applying regex


  • [COOK-718] initial release

No quality metric results found