Вопрос

Я реализую сценарий непрерывной интеграции для развертывания SharePoint. После того, как все функции были собраны на сервере сборки, я пытаюсь развернуть новые функции на тестовом сервере, выполнив команды STSADM через PSEXEC.

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

 <Target Name="AfterDropBuild">
       <Exec Command="c:\progra~1\pstools\psexec.exe \\testserver -u mydomain\mydomainuser -p mypassword \\BuildServer\CurrentBuild\DeploymentFiles\Deploy.cmd" />
  </Target>

Сборка частично завершается сбоем, и я получаю сообщение об ошибке, что доступ запрещен в моих журналах сборки:

Task "Exec"
  Command:
  "c:\progra~1\pstools\psexec.exe \\testserver -u mydomain\mydomainuser -p mypassword \\BuildServer\CurrentBuild\DeploymentFiles\Deploy.cmd"
  Access is denied.

Я добавил учетную запись службы TFS в качестве локального администратора на сервере сборки и тестовом сервере.

Есть идеи, почему это может работать на любой коробке, где я являюсь интерактивным пользователем, но не когда psexec запускается из агента сборки?

Это было полезно?

Решение

Это была проблема с правами доступа к psexec в каталоге файлов программы. Я добавил разрешения на чтение в службу tfs, и это устранило проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top