The process cannot access the file because it is being used by another process (HRESULT: 0x80070020).

CentralAdmin Error

CentralAdmin Error

This is a simple file in use, except with ports- Windows cannot start centraladmin on port 4721 because it is already using that port. Your options include binding centraladmin to a different port, and restarting IIS, or finding out what is on that port, and fixing it.

Without doing anything, open a command prompt by clicking Start>Run> and typing cmd.

In the black box, type netstat -ano > C:\netstat.txt

Hit Enter.

Navigate to your C:\ drive. Double click the text file named netstat.

Scroll down the list untill you see the port 4721 on the end of an IP address in the second column. It will look something like this:

  TCP    0.0.0.0:4721           0.0.0.0:0              LISTENING       4612

The last number is the Process ID.

Now pres Crtl-Shift-Esc.

Click on the Services tab.

Scroll down until you find the PID that matches the one from our Netstat.

Task Manager

Task Manager

As you can see from my example,. it is Microsoft Exchange Mailbox Assistant. This “Performs background processing of mailboxes in the Exchange store”. I know from past experience that this is not a super critical process, like the Transport Service, though it will supply errors if turned off.

So we won’t turn it off, but lets pause it. This is in hopes that CentralAdmin will take the port back, and then MS Exchange will assign a new dynamic port to the mailbox assistant.

Open Services MMC under Administrative Tools. Find the Mailbox Assistant. Right click it and select Stop.

Go back to your command prompt window and type iisreset.

Now check on CentralAdmin, either by trying to navigate to it or opening IIS Manager. It is started. Now go back to Services, and restart the Mailbox Assistant. It started without trouble.

Let’s double check that the mailbox assistant is assigned a new port.

I check the PID, and cross reference it against a new netstat output and see:

  TCP    0.0.0.0:44824          0.0.0.0:0              LISTENING       5424

Exchange dynamically assigned the port of 44824- much better.

This process can be done with nearly anything. Often times you will install new software and it will take the port of some existing site- this is the process to correct it. Skype is a known culprit. Just make sure you research the  service you are stopping before cutting it off. Stopping SQL (SBSMONITORING) would probably be a bad thing, as would stopping some of the more important Exchange services or any system processes. In those cases, it might be better to change the site binding port.