COMException when trying to get application pools using ServerManager

administration, c#, iis, remote-administration, servermanager

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.

Problem

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?

Original source