We have a set of IIS servers that were configured by hand. We lost track over the years of what we changed to machine config, etc.

We now need to re deploy on Server 2016.

We want to avoid the MSDeploy and stuff. We want to build a powershell script that deploys our IIS setup.

How can we delta our existing servers against baseline, to capture ALL elements of the config on these servers, so we can then implement in powershell?

1 Answer 1


The ApplicationHost.config file is the place to look. Do a text-diff-compare between your working version and a new one from a fresh IIS installation.

One section will be which IIS-components are installed, another one with your sites and application pools and then possible changes to the global settings.

All of these changes can be scripted with PowerShell IIS cmdlets, but it is a bit of work to create those scripts.

You could also use PowerShell DSC instead.

Other settings may be in your web.config files, but they will be copied to the new servers.

  • What about the machine config? I recall needing to mod it at some point. Is there a list of ALL the configs that are part of IIS? (and there is nothing I do in IIS Admin that goes to the registry, right?) Apr 12, 2018 at 12:36
  • Yes, you may have done changes to the global .NET config files, but there are not directly related to IIS, your applications may need it, and also and registry changes, and changes for NTFS permissions and other configuration changes to the server, but all relevant IIS settings are in the ApplicationHost.config file Apr 12, 2018 at 12:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.