Добавление веб-сайта в IIS7 на удаленной машине C#

В настоящее время у меня есть приложение, написанное на C#, которое добавляет веб-сайт в IIS7 на текущей машине, и оно отлично работает, код выглядит следующим образом

 var iisManager = new ServerManager();       

 var sites = iisManager.Sites;

 var site = sites.Add("WebsiteName", "C:\Website", 80);

 var application = site.Applications[0];

 application.ApplicationPoolName = appPool;

 iisManager.CommitChanges();

Мне нужно создать версию этого кода, которая добавит веб-сайт в IIS на удаленном компьютере, расположенном в той же сети. Этот код выглядит следующим образом.

 var iisManager= ServerManager.OpenRemote("machineName"); //I've also tried machines IP 

 var sites = iisManager.Sites["Default Web Site"];

 var site =  Sites.Applications.Add("WebsiteName", "C:\Website", 80);

 site.ApplicationPoolName = appPool;

 iisManager.CommitChanges();

Когда machineName - машина, выполняющая код, она добавляет веб-сайт в IIS. Однако, когда machineName является удаленной машиной, я получаю следующее исключение

Не удалось получить фабрику класса COM для удаленного компонента с CLSID {2B72138B-3F5E-4502-8052-803546CE3364} из "имени удаленного компьютера" из-за следующей ошибки: 80070005 "Удаленный компьютер"

Исключение возникает при выполнении

var iisManager= ServerManager.OpenRemote("machineName");

Перед выполнением вышеуказанного кода я использую олицетворение для олицетворения администратора. Я могу удаленно в машину и даже создать файл на машине, используя код C#.

Я предполагаю, что есть проблема с разрешениями на удаленной машине, или это может быть потому, что это виртуальная машина, я действительно не уверен.

Код 80070005 довольно общий и представляет ограниченный доступ, но я не понимаю, почему, учитывая, что я выдает себя за администратора.

Я выполняю код на компьютере под управлением Windows 7 sp1 x64, а удаленная виртуальная машина работает под управлением Windows Server 2008 sp2 x64.

Если у кого-нибудь есть идеи, как решить эту проблему или каким-либо другим способом добавить веб-сайт в IIS на удаленной машине, я бы хотел их услышать.

Спасибо

1 ответ

Прежде всего, вы запускаете вашу Visual Studio от имени администратора и отключаете брандмауэр Windows, а затем смотрите, как он будет работать на удаленном сервере.

Другие вопросы по тегам