Fixing BAS when you change your domain password

Let it be known right here that I always dread changing my domain password. I recently had to do this yet again and all of a sudden found out that my BAS (Business Activity Services) site stopped working when I tried to register my BizTalk Server 2004 instance. Previously I never had a problem with this simply for the fact that my past projects didn't require me to work in BAS. If you run into an error when you try to manage your BAS site that says "Error occurred in this operation. See your administrator for support.", then do the following.

1. Check your event log for this entry:

Event Type: Error Event Source: KwTpm Event Category: None Event ID: 601 Date: 4/21/2005 Time: 11:15:18 AM User: N/A Computer: MASCHMID-DESK2 Description: Client found response content type of 'text/html; charset=utf-8', but expected 'text/xml'. The request failed with the error message: --

 

Server Error in '/TPMgmtWS' Application.


Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Could not create Windows user token from the credentials specified in the config file. Error from the operating system 'Logon failure: unknown user name or bad password. '

Source Error:

Line 66: -->
Line 67: <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
Line 68: <identity impersonate="true" userName="registry:HKLM\SOFTWARE\Microsoft\BizTalk Server\3.0\TPMgmtWS\identity\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\Microsoft\BizTalk Server\3.0\TPMgmtWS\identity\ASPNET_SETREG,password"/>
Line 69: <httpRuntime executionTimeout="3600"/>
Line 70: <!-- sync/repair could execute for up to one hour -->

Source File: C:\Program Files\Microsoft BizTalk Server 2004\Business Activity Services\TPM\Management\web.config    Line: 68


Version Information:  Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032 --. For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.

2. If this is what you see (actually the event viewer will show you the raw HTML markup instead of what you see here obviously) then continue reading.

3. Open a command prompt and go to the "C:\Program Files\Microsoft BizTalk Server 2004" folder.

4. Enter the following command (replacing your login credentials where shown): aspnet_setreg.exe -k:"Software\Microsoft\BizTalk Server\3.0\TPMgmtWS\identity" -u:DOMAIN\username -p:MyPassword

5. You also need to do the same for the following registry keys (just replace the -k: argument shown in step 4):

         a. "Software\Microsoft\BizTalk Server\3.0\TPPubWS\identity"

         b. "Software\Microsoft\BizTalk Server\3.0\STSWebReceive\identity"

         c. "SOFTWARE\Microsoft\BizTalk Server\3.0\Hws\WebService\Identity"

That should do it (you may need to run iisreset). This will let you administer your BAS site using your new login credentials. For sake of completness, here's the other steps I take whenever I need to change my password.

1. Open up the Services mmc, click on the "Log On As" column header to order by logon type.

2. Open up all the services that are set to log on as you (denoted by DOMAIN\username). Click the "Log On" tab and enter your new password in the Password and Confirm password fields.

3. Run inetmgr to bring up the Internet Information Services (IIS) Manager.

4. Expand the local computer tree node and then expand the Application Pools tree node.

5. Go down the list of app pools and do the following:

      a. Right click on the app pool and select Properties

      b. Click on the Identity tab

      c. If the Configurable radio button is set and the corresponding User name field is your login name, then change the Password field using your new Password. NOTE: Even though a password confirmation dialog appears, a login check is not made here (i.e. it won't tell you if you use the wrong password). If you reboot (or iisreset) double check all of the app pools you changed to make sure they're all running).

      d. Repeat this process for all app pools and then do an iisreset (or reboot).

There you have it. Changing your password is a necessary evil in this day and age and not knowing what it will effect on the system will leave you frustrated. Good luck.