Заставить TFS InvokeProcess Build Activity работать под другими учетными данными - PullRequest
2 голосов
/ 20 сентября 2010

Мы настроили процесс сборки с помощью действия InvokeProcess, которое запускает скрипт powershell, который развертывает наш sln.

Проблема заключается в том, что этот скрипт должен запускаться под заданным пользователем (а не пользователем tfsbuild).

Как мы можем добиться этого?

  • Альтернатива 1: Запустить InvokeProcess от имени другого пользователя -
  • Альтернатива 2: Запустить сам скрипт PowerShell от имени другого пользователя

Проблема в том, что я понятия не имею, как это сделать.

Ответы [ 2 ]

3 голосов
/ 20 сентября 2010
2 голосов
/ 20 сентября 2010

Чистый вариант PowerShell, если на вашем компьютере TeamBuild установлен PowerShell 2.0, - это использовать фоновое задание. Start-Job позволяет указать учетные данные другой учетной записи для выполнения работы. После раскрутки фонового задания в вашем скрипте вы, вероятно, захотите дождаться окончания задания и получить результаты для вывода из основного скрипта, например ::1001

$cred = Get-Credential
$job = Start-Job -ScriptBlock { ls c:\windows\system32 -r *.sys } -Cred $cred
Wait-Job $job
Receive-Job $job

Что касается сбора, хранения и извлечения учетных данных, см. Этот блог для хорошего трактата на эту тему.

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