TF401066: Upgrading TFS on a machine with underscores in its name

If you received this warning message when upgrading your instance of Team Foundation Server, it means that you're trying to upgrade Team Foundation Server on a machine with underscores in its name.  It is strongly discouraged to give your machine a name that contains underscores in it if you plan to install TFS, because doing so will prevent you from connecting to TFS Web Access using Internet Explorer.  The reason for this is that Internet Explorer will not send cookies to a hostname with underscores in its name, and you must have cookies to use TFS Web Access because Web Access searches for an anti-forgery cookie when you connect.  Thus, if you run Internet Explorer, you will be unable to connect to Web Access and perform certain administrative functions such as administering team project security, assigning group membership, and assigning work item areas and iterations.

 

If you would like to be able to use Web Access after upgrading (and you almost certainly do), you have three options:

1.  Connect to TFS using a browser other than Internet Explorer.  TFS supports the latest versions of both Chrome and Firefox, so you can install one of these browsers and connect to Web Access through them without issue.

2.  Create a new host header binding through IIS to bind a new hostname that does not contain underscores to your machine.  You can then use this alias when connecting to Web Access and Internet Explorer will not throw an error.

3.  Access your Application Tier via its IP address rather than by name.

 

You could also try to perform a machine rename like the error code suggests; however, this is only advised if you are performing a clean install rather than an upgrade.  If you already have SQL, Reporting, and/or SharePoint configured on your server, doing a rename will cause the bindings to those programs to break.  The Reporting and SharePoint bindings are easy enough to repair, but you will need to run some complex SQL scripts to re-establish a connection to SQL.  So unless you have a skilled database administrator who is willing to do that for you, this approach is not recommended.