2016-07-29 2 views
1

Я использую задачу MSBuld для изменения виртуального каталога сайта IIS, размещенного на сервере Windows 2012. Я использую следующий код:msbuild - unauthorizedAccessException: получение фабрики COM-класса для удаленного компонента с CLSID {2B72133B-3F5B-4602-8952-803546CE3344

<MSBuild.ExtensionPack.Web.Iis7Website TaskAction="Stop" 
               Name="TestSite" 
               MachineName="$(MachineName)"/> 
     <MSBuild.ExtensionPack.Web.Iis7Website TaskAction="ModifyPath" 
               Name="TestSite" 
               Path="$(PublishDir)" 
               MachineName="$(MachineName)"/> 
     <MSBuild.ExtensionPack.Web.Iis7Website TaskAction="Start" 
                    Name="TestSite" 
               MachineName="$(MachineName)"/> 

Я выполняю две задачи:

  1. Копирование файлов с моей машины на удаленную машину, которая работает отлично. Значение У меня есть доступ на чтение и запись на удаленном компьютере.
  2. На втором шаге я пытаюсь изменить виртуальный каталог с помощью задачи ms build, которая не работает.

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

UnauthorizedAccessException: Получение COM фабрики классов для удаленного компонента с CLSID {2B72133B-3F5B-4602-8952-803546CE3344} из машины XXXX не удалось из-за следующей ошибки: 80070005

Я использую тот же код на Windows 2008 Server, чтобы изменить путь к виртуальному каталогу другого веб-сайта, размещенного на другом компьютере &, он отлично работает.

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

Есть ли какая-нибудь другая работа вокруг?

+0

Код ошибки 80070005 - это отказ в доступе. Я бы посоветовал убедиться, что у вашего пользователя есть привилегии для управления экземпляром iis на этом компьютере. –

+0

@MaxYoung: Пожалуйста, дайте мне более подробную информацию. Где проверить .. что делать? Я выполняю два шага. На шаге № 1, с моего компьютера на этот удаленный компьютер, я копирую файлы, которые работают нормально, а на втором этапе я использую msbuild для изменения виртуального каталога, который не работает. – SharpCoder

ответ

1

Как оказалось, я выполнял задачу с использованием Team City (сервера непрерывной интеграции), который, в свою очередь, использовал задачу ms-build для изменения виртуального каталога. Город команды бежал под учетной записью службы. Мне пришлось добавить эту учетную запись службы в группе «Администраторы» на удаленном компьютере.

Смежные вопросы