Search code examples
c#iisadministrationservermanagerremote-administration

COMException when trying to get application pools using ServerManager


When I try to get the list of IIS application pools from a remote server using the following code

List<ApplicationPool> appPools;

using (ServerManager serverManager = ServerManager.OpenRemote("XXX")) {
  appPools = serverManager.ApplicationPools.ToList();
}

I get an exception:

System.Runtime.InteropServices.COMException (0x800706BA): Retrieving the COM
class factory for remote component with CLSID
{2B72133B-3F5B-4602-8952-803546CE3344} from machine XXX failed due to the
following error: 800706ba.

Any ideas what might be causing this?


Solution

  • Turns out the problem can be fixed by adding an appropriate rule in the Firewall:

    • rule type: inbound
    • rule type: custom
    • program: %systemroot%\system32\dllhost.exe
    • protocol: TCP
    • local port: RPC Dynamic Ports
    • remote port: All Ports
    • action: allow connection
    • profile: domain

    The above solution was inspired by this thread: Windows Firewall blocking OAB connections.