TL; DR: - Перейти к решению
При обновлении до TFS2010 до 2015 года, а затем до 2017 года я получаю эту ошибку.
TF255115: Следующая служба не запущена: TfsJobAgent.
Согласно ответу Сивакумара Шана в MSDN (с тех пор он был заблокирован):
«При настройке я настроил, что службу TFS нужно запускать под« Учетной записью пользователя », а не« Системной учетной записью ». Затем я предоставил имя и пароль своей учетной записи пользователя. Наконец-то все прошло хорошо. Моя конфигурация выполнена»
Найдите снимок экрана с настройкой «Служба сборки» То же самое, что я сделал для мастера настройки TFS. »
Для меня работало использование Сетевой службы вместо явной учетной записи службы (обновление с 2010 до 2015). Несмотря на то, что служебной учетной записи были предоставлены права на «Вход в систему как служба», произошел сбой.
Для устранения неполадок я попытался вручную установить TeamFoundationSshService.exe:
Пуск> Выполнить> cmd> cd C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
InstallUtil "C:\Program Files\Microsoft Team Foundation Server 14.0\Application Tier\Web Services\bin\TeamFoundationSshService.exe"
Примечание. Microsoft Team Foundation Server 14.0 - это потому, что я использую TFS2015.
К сожалению, он не был успешно установлен и получил откат. Первой причиной сбоя было исключение UnauthorisedAccessException для пути "C: \ Program Files \ Microsoft Team Foundation Server 14.0 \ Уровень приложений \ Веб-службы \ bin \ TeamFoundationSshService. InstallState "
Поэтому я дал Папке разрешения на Изменение, а также на Чтение и Выполнение, Чтение, Запись, чтобы можно было создавать новые файлы.
Затем я попытался снова и получил еще одну ошибку, FileNotFoundException.
Я решил воспользоваться советом Tarik.Net из ветки MSDN:
Это сложно! Вы должны открывать (обновлять) окно служб во время установки, а не после того, как оно завершится неудачно. Вы должны сделать это до того, как установка TFS выдаст ошибку, потому что установка откатывается (служба удаляется), следовательно, вы ее не найдете.
Я снова запустил установку (с 2010 по 2015 г.), и когда она прошла после настройки базы данных, я продолжал обновлять окно Services.msc, пока не появилась служба TeamFoundationSshService. Когда он появился, он не был запущен, поэтому я быстро запустил его во время установки, и это позволило ему успешно завершиться.
При обновлении с 2015 на 2017 я снова сталкивался с ошибкой. На этот раз мне пришлось использовать явную учетную запись службы.
Что происходит, когда мастер настройки сервера получает доступ к шагу «Настройка служб», устанавливает> TeamFoundationSshService.exe, который не запускается и удаляется как часть отката:
Я слишком медленно пытался запустить Службу вручную во время этой установки в 2017 году.
И снова столкнулся с ошибкой:
Когда возникает эта ошибка, вы должны восстановить базу данных Tfs_Configuration (в моем случае до версии 2015) и снова запустить мастер.
Перед повторной попыткой я попытался установить Сервис TeamFoundationSshService.exe в моей установке TFS2017 вручную.
Пуск> Выполнить> cmd> cd C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
InstallUtil "C:\Program Files\Microsoft Team Foundation Server 15.0\Application Tier\Web Services\bin\TeamFoundationSshService.exe"
Примечание: Microsoft Team Foundation Server 15.0, так как это обновление TFS2017.
Результат:
System.UnauthorizedAccessException: Доступ к пути 'C: \ Program Files \ Microsoft Team Foundation Server 15.0 \ Уровень приложений \ Веб-службы \ bin \ TeamFoundationSshService.InstallState' запрещен.
Снова я даю пользователям доступ к Modify, а также к Read & Execute, Read, Write.
Я снова попытался установить Службу и получил исключение безопасности:
System.Security.SecurityException: источник не найден, но не удалось найти некоторые или все журналы событий. Недоступные журналы: безопасность.
Я проверил TeamFoundationSshService.InstallLog, и у него не было никаких причин, но он указал на журнал событий. Итак, я проверил eventvwr
и он показывает:
Домен и учетная запись: домен \ SRV-WTAM-TFS
Эта учетная запись службы не имеет требуемого права пользователя «Войти в систему как служба».
Как бы то ни было !!!
Ошеломленный и сбитый с толку вопрос, почему служба всегда откатывается. Я решил открыть командную строку в режиме администратора, а затем выполнил команду InstallUtil, которую он зафиксировал успешно.
Теперь я восстановил базу данных Tfs_Configuration до TFS2015. Я снова запускаю мастер обновления.
Однако, когда у меня установлена служба TeamFoundationSshService, но она не запущена, и в мастере TFS нажмите «Подтвердить», появляется сообщение об ошибке:
TF255427: На вашем компьютере установлена следующая служба Windows: TeamFoundationSshService. Вы должны удалить службу, используя программу командной строки SC. В командной строке введите sc delete TeamFoundationSshService
Поэтому я удаляю его:
InstallUtil /u "C:\Program Files\Microsoft Team Foundation Server 15.0\Application Tier\Web Services\bin\TeamFoundationSshService.exe"
Повторно запустите проверку готовности, и она прошла. Я нажимаю Настроить снова ,
Я быстро переустанавливаю TeamFoundationSshService через командную строку администратора
Однако я не могу запустить его в сетевой службе:
Служба Team Foundation Ssh Service на локальном компьютере запускается, а затем останавливается. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами.
Затем снова произойдет сбой с этим сообщением об ошибке:
TF255425: Произошла ошибка при установке следующей службы Windows: TeamFoundationSshService.exe. Для получения дополнительной информации откройте программу просмотра событий и просмотрите журнал приложения.
Погуглив обнаруженную мной ошибку TF255425 https://social.msdn.microsoft.com/Forums/vstudio/en-US/516127c9-ed88-4001-a29d-f146408702a2/getting-the-following-error-tf255425?forum=tfsadmin, которая гласит:
Вы должны быть членом группы безопасности «Администраторы» на сервере, на который вы будете устанавливать TFS
Я добавил служебную учетную запись администраторам, но все равно не повезло.
Я вернулся к установке службы вручную, на этот раз с помощью команды SC Create, которую установщик TFS будет использовать:
sc create "TeamFoundationSshService" obj= "domain\SRV-WTAM-TFS" password= "password" binpath= "C:\Program Files\Microsoft Team Foundation Server 15.0\Application Tier\Web Services\bin\TeamFoundationSshService.exe" start= auto type= share
Приведенная выше команда создает службу Windows, но не запускает ее. Попытка запустить его вручную не удалась с помощью:
Windows не удалось запустить службу TeamFoundationSshService на локальном компьютере.
Ошибка 1069: служба не запущена из-за ошибки входа в систему.
Решение
После устранения неполадок я обнаружил, что учетная запись службы находится в группе «Локальные политики»> «Назначение прав пользователя»> «Вход в систему как учетная запись службы», но учетная запись службы также находится в группе, указанной в разделе «Запретить вход в систему как служба»
После удаления учетной записи службы из группы «Запретить вход в систему в качестве службы» я снова восстанавливаю базу данных Tfs_Configuration и снова запускаю обновление, и на этот раз оно успешно работает.