У меня небольшая проблема с авторизацией в TeamCity при запуске сборки из командной строки. Это связано с существующим вопросом о выполнении команды svn checkout , но я хочу задать его явно здесь:
Почему, когда служба агента сборки TeamCity настроена для работы под определенной учетной записью Active Directory, а не локальной системной учетной записью, при выполнении этой команды:
echo "%username%"
Я получаю вывод этой сборки:
[20:52:04]: C:\TeamCity\buildAgent\work\b67560ceb299718c>echo "SYSTEM"
[20:52:04]: "SYSTEM"
Это действительно разрушает мои попытки выполнять команды под учетной записью моей службы AD, почему это происходит? Другие сборщики сборок (например, MSBuild) выполняются под учетной записью службы, почему это не происходит в командной строке?
Обновление 1:
Перенос команды в сценарий MSBuild с целью Exec делает то же самое - текущий пользователь по-прежнему «System».
Обновление 2: В выводе команды "set" имя пользователя отображается как "Система", но профиль пользователя указывает на профиль учетной записи службы:
[13:38:28]: USERDNSDOMAIN=[domain.dns name]
[13:38:28]: USERDOMAIN=[domain]
[13:38:28]: USERNAME=SYSTEM
[13:38:28]: USERPROFILE=C:\Users\[service account]