Как настроить сайт в IIS7 в Windows 2008 Server Web SP2 через консольное приложение? - PullRequest
5 голосов
/ 29 сентября 2010

У меня есть программа, которую я использовал на Windows Server 2003, которая устанавливает сайт в IIS6, которую я использовал без проблем в прошлом.

Я пытаюсь сделать то же самое с Windows 2008 Server Web SP2 и получаю сообщение об ошибке. Я предполагаю, что это связано с безопасностью учетной записи пользователя. Если это правильно, есть ли способ, которым я могу обойти это? Спасибо.

System.Runtime.InteropServices.COMException (0x80070005): 
Access is denied. at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)

Редактировать:

Я обнаружил, что Microsoft предоставляет сборку Microsoft.Web.Administration, чтобы упростить мою задачу с IIS7. Однако я получаю сообщение об ошибке при запуске приложения. Сообщение об ошибке говорит:

«Указанная HTTPS-привязка недействительна».

Я не указываю привязку https, поэтому не уверен, почему получаю сообщение об ошибке. Вот код.

using Microsoft.Web.Administration;
....
using (ServerManager iisManager = new ServerManager())
{
  iisManager.Sites.Add(site.Name.ToString(), "http", "*:80:" + domain, 
                          server.InetPath + site.Name);
  iisManager.CommitChanges();
  Site newSite = iisManager.Sites[site.Name];
  newSite.Applications[0].ApplicationPoolName = "TrialUsers";
  iisManager.CommitChanges();
}

Кроме того, эта задача должна обновить несколько серверов в веб-ферме. Кто-нибудь знает, как изменить код, чтобы это произошло?

Ответы [ 2 ]

5 голосов
/ 06 ноября 2012
iisManager.Sites.Add(site.Name.ToString(), "http:", "*:80:" + domain, 
                     server.InetPath + site.Name);

Удалить домен, если вы похожи на меня, вы не добавили второй ':' после порта

0 голосов
/ 29 сентября 2010

Чтобы использовать API Microsoft.Web.Administration для создания и управления IIS на удаленном сервере, вы можете использовать метод ServerManager.OpenRemote(string serverName).

Однако у меня есть ощущение, что вам, вероятно, нужно запустить это в контексте пользователя Active Directory с правильными правами на удаленном сервере, поскольку невозможно предоставить учетные данные для удаленного сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...