问题
I'm trying to use ServerManager.OpenRemote (from Microsoft.Web.Administration) but am unable to find documentation on how to give it different credentials from the current user. I tried SimpleImpersonation (from How do you do Impersonation in .NET?) and it gives me the same error:
System.UnauthorizedAccessException - Retrieving the COM class factory for remote component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} from machine [...] failed due to the following error: 80070005 [...]."
Firewall on the remote machine is off. UAC is disabled.
回答1:
You must enable the remote server for remote configuration. Microsoft.Web.Administration uses AHADMIN DCOM service, so this should be open for remote access.
First, make sure you can change AHADMIN properties: https://serverfault.com/questions/242714/how-can-i-enable-ahadmin-properties
Then, follow these steps or use the provided script: http://mvolo.com/connecting-to-iis-70-configuration-remotely-with-microsoftwebadministration/
Also, check you have remote access permissions for AHADMIN using dcomcnfg. See how here http://support.microsoft.com/kb/176799 and here http://help.eprint.net/dcomconfig.htm
来源:https://stackoverflow.com/questions/22458410/credentials-for-servermanager-openremote