IIS6 Migration Tool, First Look
Brad Kingsley
February 17, 2004
I've been supporting Internet Information Services since IIS3 (that sure was a challenge!
:>). Each time a new version came out, I would test extensively both the upgrade
process and also a fresh install configuration -- just to be familiar with issues
in both cases. But whenever dealing with production systems, I *always* opted for
a fresh install and then migrated the site(s) from the older version to the new
version.
Because I always built fresh systems I had to then deal with the often complex issue
of migrating the site to the new server. This required making sure that the IIS
configurations were the same (sometimes not even possible when settings changed between versions!), making sure the content was migrated, migrating permissions,
and sometimes dealing with issues related to configuration of Frontpage Server Extensions.
With the release of Internet Information Services on Windows Server 2003, Microsoft
has made available a tool that automates this migration process for system administrators.
This tool is named the "Internet Information Services 6.0 Migration Tool" and can
be downloaded from
http://www.microsoft.com
This tool can be used to migrate a site from IIS4, IIS5, or IIS6 over to a fresh
installation of Windows Server 2003/IIS6.
Here is a very simple sample syntax that could be used to copy the site at W3SVC1
on server 192.168.1.200 over to the local server and adjust it's bindings to run
on 192.168.1.201. I like this option because I can then test the old site on the
original IP and the new site on the newly assigned IP - otherwise it would copy
over and assign the same IP by default.
iismt.exe 192.168.1.200 W3SVC/1 /serverbindings 192.168.1.201:80:www.TestSite2.com
It does an amazingly thorough job of migrating all the settings - and content -
required for a solid site relocation. I've run this in test scenarios using a variety
of switches (it allows options like only copying the config - no content; shifting
the web root path on the destination server; adjusting the server bindings on the
destination server; and more) - each time it has performed as expected.
One thing to note (well, perhaps one of several, but one that stuck out to me) is
that the destination server will have a new application pool created for all the
medium isolation applications, and a unique application pool created for each site
that is running in it's own process (high isolation on IIS5). All of these pools
will have default security settings when migrating from IIS4/IIS5 - Network Service
identity - since this is a new option in IIS6. If you want to further isolate and
restrict these processes by Windows user permissions, you'll need to go in and manually
make adjustments to them to accommodate this.
As with any tool like this, I *strongly* recommend double-checking the result and
doing thorough testing. But, for large sites with a lot of complex settings this
tool can save hours of time and tons of headache trying to track down all the custom
settings that would be required in a manual move procedure.
Cheers!
~Brad
Brad Kingsley is President and Founder
of ORCS Web, Inc.
- a company that provides managed hosting solutions for clients who develop and deploy their applications on Microsoft Windows platforms. Services include shared hosting, dedicated hosting, and webfarm hosting, with specialty in .Net, SQL Server, and architecting highly scalable solutions.