IIS6 Migration Tool, first look
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!
By Brad Kingsley
Brad Kingsley is President and Founder of ORCS
Web, Inc. - a company that provides managed hosting services for clients who
develop and deploy their applications on Microsoft Windows platforms.













