Проблемы с учетной записью пользователя службы Windows для TFSBuildServiceHost.исполняемый
испытал очень странную проблему сегодня на нашем сервере сборки TFS2010. Внезапно служба сборки не удалась без видимой причины. Были проблемы со стрельбой весь день,но все еще не нашли причину.
одна из проблем заключается в том, что служба сборки (или должны!) работает под пользователем AD под названием tfs2010build. Однако, когда я пытаюсь запустить службу, я получаю следующую ошибку
Service cannot be started. Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException: TF30063: You are not authorized to access http://tfs2010:8080/tfs/default. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
когда я смотрю в журнале событий на сервере TFS2010, я вижу что неудачная аутентификация зарегистрирована для пользователя с именем TFS2010Install,который использовался для установки всего. Ive tripple проверено, и служба указана как работающая под TFS2010Build.
вход с сервера TFS2010:
Account For Which Logon Failed:
Security ID: NULL SID
Account Name: TFS2010INSTALL
Account Domain: LC
Итак, мой вопрос, как это возможно. Может пользователь TFS2010Build как быть подделано TFS2010Install? Я ve попытался установить дополнительный сервер сборки, и здесь нет проблем с запуском службы под пользователь TFS2010Build-следовательно, это не проблема с правами пользователя AD или TFS.
надеюсь, вы, ребята,можете помочь!
/Джаспер
!! Обновлены некоторые скриншоты. Сервер сборки - TFS2010BIULD, а сервер TFS-TFS2010
снимок экрана нерабочего сервера сборки TFS2010Build
снимок экрана рабочего сервера сборки TFS2010Build1
!!Новый Update
мне удалось запустить службу сборки под учетной записью пользователя TFS2010Build (которая на самом деле была начальным состоянием, когда проблема началась). Когда я выстраиваю очередь на этот контроллер и агент, я получаю следующее в журнале сборки:
TF215097: произошла ошибка при инициализации сборки для определения сборки PlanteIT_MarkOnline_ScrumCI_Main_FieldOnlineClient: TF215106: Доступ запрещен. LCTFS2010INSTALL требует обновления информации о сборке разрешения для определения сборки CI_Main_FieldOnlineClient в командном проекте PlanteIT_MarkOnline_Scrum для выполнения действия. Для получения дополнительных сведений обратитесь к администратору Team Foundation Server.
он по-прежнему настаивает на том, что учетная запись пользователя TFS2010Install запускает службу, несмотря на то, что tfs2010build используется для службы сборки. Есть идеи?
3 ответов
Это удар в темноте, вы можете попробовать очистить кэш клиента TFS и ваш интернет-кэш на вашей проблемной машине сборки под учетной записью Tfs2010Build? Я никогда не видел эту проблему раньше, но, возможно, какой-то устаревший кэшированный объект TfsProjectCollection с аутентификацией TFS2010Install остался и вызвал проблемы.
вы также пытались перенастроить свою машину сборки?
переконфигурировать: программу tfsconfig.exe установка / удаление:TeamBuild
и перенастройка с помощью мастера.
Я попробую еще раз ... шаг за шагом :-)
факт: когда вы регистрируете контроллер сборки в коллекции проектов TFS, входя в систему как TFS2010Build, появляется диалоговое окно аутентификации. Это означает, что сервер TFS делает не примите tfs2010build как учетную запись, которая может использоваться для подключения к коллекции по умолчанию на сервере TFS.
факт: при регистрации сборки контроллер коллекции проектов TFS, входящий в систему как TFS2010Install,нет диалоговое окно аутентификации всплывает. Это означает, что сервер TFS тут примите tfs2010install как учетную запись, которая может использоваться для подключения к коллекции по умолчанию на сервере TFS.
по-видимому, потому что в 1 и 2 ваш контроллер сборки зарегистрирован с помощью учетной записи TFS2010Install на сервере TFS, либо контроллер, либо сервер запоминает эти учетные данные и использует их для подключения к серверу TFS коллекции, когда регулятор начал, несмотря на то, что сама служба работает под учетной записью TFS2010Build. это правдоподобная ситуация, и олицетворение часто происходит таким образом для служб. Возможно, некоторые техники TFS могут подтвердить или опровергнуть это поведение.
вопрос, который остается для меня: почему коллекция по умолчанию на сервере TFS не принимает TFS2010Build счет в качестве администратора?
возможные причины:
прочитайте ответ Джима Ламба.
что-то не так с регистрацией домена системы или пользователя, используемое для подключения контроллера к коллекции на сервере TFS.
самый быстрый способ избавиться от проблемы: продолжайте устанавливать вторичный сервер, который, похоже, не имеет проблемы, потенциально экспериментируйте с использование TFS2010Build с этого вторичного сервера, чтобы увидеть, если проблема также возникает там.
длинный ответ, но надеюсь, это дает вам большой толчок в правильном направлении.
жаль, что у вас возникли проблемы с получением этого на работу. Вот несколько вещей, которые вы можете увидеть/попробовать:
убедитесь, что учетная запись пользователя TFS2010Build является членом группы "Службы сборки" в коллекции проектов TFS, с которой Вы ее связали.
Если вы устанавливаете и настраиваете службу сборки во время входа в систему как пользователь, являющийся членом группы администраторов коллекции проектов в связанном проекте коллекция, а также является членом локальной группы администраторов на компьютере сборки, все необходимые разрешения и другие конфигурации, как правило, будут установлены для вас.
Итак, чтобы подвести итог, пользователь, настраивающий машину сборки, должен быть членом группы администраторов коллекции проектов и членом локальной группы администраторов. И учетная запись пользователя, на которой работает машина сборки, должна быть членом "служб сборки" коллекции проектов" группа.