2015-02-06 9 views
5

Sto tentando di recuperare alcune informazioni sull'appartenenza al gruppo da un vecchio server TFS 2010 per il quale il livello applicazione non è più disponibile (ma il back-end SQL non ha ancora stato cancellato). So che ci sono programmi a riga di comando per ottenere informazioni sulla sicurezza, ma mi chiedo se sia possibile ottenere informazioni sulla sicurezza (in particolare l'appartenenza al gruppo) date solo le tabelle/viste del database.È possibile elencare tutti gli utenti in un gruppo TFS da SQL Server

+1

Cosa hai provato finora? Hai provato ad accedere al database TFS? Qual'era il risultato? – abatishchev

+0

@abatishchev Posso accedere al database TFS ma onestamente non so nemmeno da dove cominciare a cercare. Sotto il nostro server TFS 2013 i gruppi sembrano essere definiti a livello di raccolta, quindi la mia prima ipotesi sarebbe in qualche posto nel database per quella raccolta. – davidk

+1

Prova 'SELECT * FROM [Tfs_Configuration]. [Dbo]. [Tbl_Identity]' – abatishchev

risposta

1

Dopo aver frugato e alcuni tentativi ed errori, ho scoperto che il seguente SQL sembra funzionare

USE MyCollection; 

SELECT 
    --grp.[SamAccountName] 'group_name', 
    member.SamAccountName 'member_name' 
FROM 
    [ADObjects] grp 
    JOIN ADObjectMemberships om ON om.ObjectSID = grp.ObjectSID 
    JOIN ADObjects member ON om.MemberObjectSID = member.ObjectSID 
WHERE 
    grp.SamAccountName = 'MyGroup' 
6

Ecco una domanda che uso per elencare tutti gli utenti e le appartenenze all'interno di una raccolta TFS.

Select Object1.DisplayName as Name, 
      Object2.DisplayName as Membership 
From  ADObjectMemberships Member1, 
      ADObjects Object1, 
      ADObjects Object2 
Where  Object1.ObjectSID = Member1.MemberObjectSID and 
      Object2.ObjectSID = Member1.ObjectSID 
Order By Membership, Name 
Problemi correlati