2015-11-17 8 views
0

Я делаю автоматизацию сборки, когда клиент сборки находится на машине без домена. Переместить эту машину в домен нельзя. Сервер TFS - это версия 2013, а подключение к ней работает через Visual studio 2013. Учетные данные также сохраняются в хранилище Windows на сервере Windows 2012.Автоматизация задач TFS с использованием Powershell, когда клиент TFS находится на машине без домена

Когда я использую TF.exe из командной строки разработчика, он может принимать параметры '/login: имя пользователя, [пароль] »и работа.

Этот параметр не работает с TFS powertool TFPT. TFPT всегда запрашивает логин и пароль через приглашение пользовательского интерфейса, даже если он сохраняется в Windows Vault.

То же самое происходит с командлетом командной строки TFPT.

Ожидается ли такое поведение? Должен ли я продолжать использование TF.exe или есть альтернативы?

[ОБНОВЛЕНИЕ] Согласно an answer on MSDN forums, не представляется возможным, чтобы обеспечить параметр/входа в TFPT. Использование теневой учетной записи или TF.exe - выход. TF.exe разработал для меня, как только я начал копать.

+0

С какой командой TFPT.exe вы запустили? –

+0

Я пробовал несколько команд, включая 'tfpt query' и' tfpt scorch', и все запрашивают учетные данные. –

ответ

0

Вы можете использовать команду tfpt connections, чтобы изменить значения клиентского соединения Team Explorer.

Если вы хотите использовать команду tfpt online, попробуйте tfpt online /preview /recursive /noprompt, что не позволит системе запрашивать у пользователя какую-либо информацию.

+0

Я пробовал вариант '/ noprompt', и он не останавливает интерфейс. 'tfpt online' недействителен для локальных рабочих областей и, следовательно, не полезен для меня. 'tfpt connections' показывает список учетных данных, сохраненных в системе, но другие команды tfpt не могут это использовать. –

+0

Вы можете попытаться создать теневую учетную запись, чтобы выполнить междоменную связь. Проверьте https://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/07/20/Getting-TFS-2012-Agents-to-communicate-cross-domain.aspx –

0

Я могу получить учетные данные, сохраненные в Windows Vault, с помощью PowerShell. Шаги для справки:

  1. Открыть TFS веб-портал с IE: http://xxxxx:8080/tfs
  2. Введите имя пользователя и пароль и проверить «Запомнить учетные данные» вариант.
  3. Нажмите кнопку «ОК».

Теперь учетные данные сохраняются в Windows Vault, и при запуске команды tfpt из PowerShell не появится диалоговое окно. Мой компьютер также не присоединился к домену.