Feld "TFS-Genehmiger" im Release-Management - Einige Gruppen fehlen

1

In einer lokalen TFS-Umgebung (Team Foundation Server) 2017 können wir im Feld Genehmigende des Release-Management-Systems einige Gruppen aus Active Directory nicht finden, obwohl die große Mehrheit der Gruppen und Benutzer ausgewählt werden kann.

Ich hatte anfangs den Verdacht, dass das Problem durch die Sicherheit verursacht wurde, aber selbst nachdem ich die Gruppen als Projektadministratoren hinzugefügt habe, hindert mich das System weiterhin daran, sie in der Dropdown-Liste zu finden.

Mein nächster Schritt bestand darin, sicherzustellen, dass die Gruppen über eine ausreichende Zugriffsberechtigung verfügen. Nach der Gewährung des VS Enterprise-Zugriffs bleibt das Problem jedoch bestehen.

Obwohl ich die Gruppe in TFS auf der Ebene der Sammlungssicherheit finden kann, habe ich ein Active Directory-Synchronisierungsproblem ausgeschlossen, indem ich den Active Directory-Synchronisierungsauftrag über den TFS-Webservice QueueJobNow ausgeführt habe und auf den Abschluss gewartet habe.

Damit bleiben die folgenden potenziellen Probleme behoben und überprüft: TFS-Sicherheit, TFS-Zugriffsebene und Active Directory-Synchronisierung.

Was vermisse ich hier? Gibt es eine andere Ebene, auf der ich dieser Gruppe Zugriff gewähren muss?

mattbbpl
quelle

Antworten:

1

Beantworte meine eigene Frage, um anderen die Mühe zu ersparen.

Das Problem ergab sich aus der Reihenfolge der von mir oben ausgeführten Operationen. Sie müssen zuerst den Sicherheitszugriff auf das Teamprojekt gewähren (in meinem Fall habe ich den Mitwirkenden-Zugriff verwendet) und dann den Active Directory-Synchronisierungsauftrag über den TFS QueueJobNow-Webservice mithilfe des folgenden PowerShell-Skripts ausführen (beachten Sie, dass der Auftrag mehrere Minuten dauern kann).

[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)
    }
}

und dann sollten Sie in der Lage sein, die erforderliche Gruppe in das Feld Genehmigender einer Umgebung im Release-Management-System von TFS einzugeben.

mattbbpl
quelle