Поле утверждающих TFS в управлении релизами - некоторые группы отсутствуют

397
mattbbpl

В локальной среде TFS (Team Foundation Server) 2017 мы не можем найти несколько групп из Active Directory в поле утверждающих системы управления релизами, несмотря на тот факт, что можно выбрать подавляющее большинство групп и пользователей.

Сначала я подозревал, что проблема связана с безопасностью, но даже после добавления групп в качестве администраторов проектов система продолжает мешать мне найти их в раскрывающемся списке.

Следующим моим шагом было убедиться, что у групп был достаточный уровень доступа, но после предоставления им доступа VS Enterprise проблема не исчезла.

Несмотря на то, что я могу найти группу в TFS на уровне безопасности коллекции, я исключил проблему синхронизации Active Directory, запустив задание синхронизации Active Directory через веб-службу TFS QueueJobNow и дождавшись ее завершения.

Таким образом, рассматриваются и проверяются следующие потенциальные проблемы: безопасность TFS, уровень доступа TFS и синхронизация Active Directory.

Что мне здесь не хватает? Есть ли другой уровень, на котором мне нужно предоставить доступ для этой группы?

1

1 ответ на вопрос

1
mattbbpl

Отвечая на мой собственный вопрос, чтобы избавить некоторых других от неприятностей.

Проблема возникла из-за порядка операций, которые я проводил выше. Сначала необходимо предоставить защищенный доступ к командному проекту (в моем случае я использовал доступ к Contributor), затем запустить задание синхронизации Active Directory через веб-службу TFS QueueJobNow с помощью приведенного ниже сценария PowerShell (обратите внимание, что выполнение задания может занять несколько минут),

[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client") $configServer = new-object Microsoft.TeamFoundation.Client.TfsConfigurationServer(new-object System.Uri("http://localhost:8080/tfs")) $tfsJobService = $configServer.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamFoundationJobService]) $jobs= $tfsJobService.QueryJobs() $jobID = new-object System.Guid("544DD581-F72A-45A9-8DE0-8CD3A5F29DFE") foreach ($job in $jobs) { if (($job.JobId -eq $jobID)) { $Identity_SynchronizationJob = $job  $tfsJobService.QueueJobNow($Identity_SynchronizationJob,$true) } } 

и тогда вы сможете ввести нужную группу в поле утверждающего среды в системе управления релизами TFS.

Похожие вопросы