skip to main content
We are excited to announce that the IIS.NET Forums are moving to the new Microsoft Q&A experience. Learn more >

Powershell module including functions to report on and migrate IIS6 websites to IIS8.5

Windows This is a Community Contributed Download

CategoryDeploy & Migrate
LicenseFree
Supported byEmail, Knowledge base, Forums
Works WithIIS 6, IIS 8.5
DocumentationPowershell module including functions to report on and migrate IIS6 websites to IIS8.5 Documentation
Updated onJanuary 19, 2015
Uploaded bySam Boutros

Overview

This Powershell module includes functions to report on and migrate web sites from IIS version 6 on windows 2003 servers to IIS 8.5 on Windows 2012 R2 server. There has been many improvements in Internet Information Server since version 6. With Windows 2003 end of life looming on the horizon, this module can help migrate web workloads to Windows 2012 R2.

Features

This script will handle and migrate: Redirected websites Websites set on other than typical port 80 Websites with multiple bindings Virtual directories HTML, classic ASP, and DotNet websites This script will NOT migrate SSL certificates

Benefits

The script will: Set NTFS permissions for NetworkService/Modify and IUSR/ReadAndExecute at the $Webroot folder It will update existing permissions, if any. I will not downgrade existing permissions Copy the website files from the source server to this server. It will make a folder with the same name as the website name under $Webroot It will copy source files for all virtual folders if any existed Set application pool & its properties: Crete application pool $AppPool if it did not exist Set its .NET CLR version to v2.0 Enable 32-bit applications Change ‘Generate Process Model Event Log Entry’ identity to ‘Network Service’ Create web site, or update existing site settings Add additional bindings if any existed on the source website Update the website’s web.comfig file for DotNet websites Update any paths to reflect the new website path Comment out “configSections” in web.config

Requirements

This script is designed to run on the target 2012 R2 web server (Powershell 4). The scriptblocks that interact with Server 2003 have been tested on Powershell 2.