2015-02-06 27 views
5

我試圖從舊的TFS 2010服務器中恢復某些組成員信息,但應用層不再可用(但SQL後端沒有尚未刪除)。我知道有命令行程序來獲取安全信息,但我想知道是否有可能獲得只給予數據庫表/視圖的安全信息(特別是組成員資格)。是否有可能列出來自SQL Server的TFS組中的所有用戶

+1

到目前爲止您嘗試了什麼?您是否嘗試訪問TFS數據庫?結果是什麼? – abatishchev 2015-02-06 17:49:57

+0

@abatishchev我可以訪問TFS數據庫,但我真的不知道從哪裏開始尋找。在我們的TFS 2013服務器下,這些組似乎被定義在一個集合級別,所以我的第一個猜測將會是該集合的數據庫中的某個位置。 – davidk 2015-02-06 17:51:57

+1

嘗試'SELECT * FROM [Tfs_Configuration]。[dbo]。[tbl_Identity]' – abatishchev 2015-02-06 18:00:59

回答

1

閒逛和一些試驗和錯誤之後,我發現下面的SQL似乎工作

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

這裏有一個查詢我用它來列出所有用戶和會員一個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 
相關問題