Доступ запрещен - PSEXEC вызывается из TFS
-
22-07-2019 - |
Вопрос
Я реализую сценарий непрерывной интеграции для развертывания 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, и это устранило проблему.