我意外地接管了我們TFS系統的前任管理員,他們突然離開公司。在發生這種情況之前,我已經成爲TFS的管理員和TFS應用程序服務器,但仍然至少有一件事我無法弄清楚。看起來在前一個管理員帳戶下面有一些警報設置,在每次簽入文件時都會向我們所有人發送電子郵件。我無法確切地確定這個訂閱是什麼樣的,但我猜測它是在項目的「項目警報」對話框,或者它是使用TFS Power Tools的警報編輯器設置的警報。我看不到其他用戶在這些區域設置的提醒。有沒有辦法直接編輯tbl_subscription表來直接嘗試刪除或更改這些警報? (我想我看到了SQL表中的警報,但我不想直接破解數據庫。)在TFS中編輯項目的其他用戶提醒
回答
歡迎來到TFS世界 - 抱歉您的洗禮將成爲火災之一。
對於直接編輯數據庫保持警惕是正確的 - 通常最好避免使用TFS。 TFS Event Subscription tool(最初製作的by this sites creator)應該能夠完成這項工作,但我認爲它可能有點過時,可以用一些愛做。上次我嘗試過它不適合我 - 但我認爲它可能從那時起就已經更新了。
如果該工具不適合您,那麼這是一個您可以直接使用Web服務(這是該工具在底層實現的功能)的實例。
CAVEAT - 這是與「在我的機器上工作」保證測試。但是,如果您刪除了錯誤的訂閱,那麼您可能會搞砸TFS實例。因此採取備份和謹慎行事......
首先:
登錄到TFS機作爲TFS管理員用戶(TFSSETUP)通過遠程桌面,然後瀏覽到在Internet Explorer的地址如下:
http://localhost:8080/Services/V1.0/EventService.asmx
這些是Event Service Web服務方法。你想看看第一個是EventSubscriptions方法: -
http://localhost:8080/Services/V1.0/EventService.asmx?op=EventSubscriptions
在用戶ID字段中輸入一個星號(*),然後按調用。
然後,這將返回TFS中所有事件訂閱的大名單 - 包括允許部分TFS與其他部分進行對話的訂閱。如果向下滾動,您會發現您的電子郵件訂閱。記下要刪除的ID的ID。
然後去退訂方式:
http://localhost:8080/Services/V1.0/EventService.asmx?op=UnsubscribeEvent
輸入您要刪除,然後按調用通知的ID。重複所有您想要移除的事件。
一旦你刪除那些你不想讓你可以使用電動工具等
希望幫助創建不同的 - 好運氣。
Martin。
請注意,沒有得到任何友好的撤消提示或任何東西,因爲這是相當低級的hackery。因此,在執行此操作之前,您需要備份等。
我會非常謹慎地直接編輯表;請參閱this thread中的警告和建議。 (我沒有嘗試過他們推薦的應用程序,因此請採取適當的預防措施/備份。)
我與馬丁對此表示贊同不能直接編輯數據庫,但此查詢可能與他的第一個步驟的幫助(查找您想要取消訂閱事件的id):
SELECT
ES.Id,
U.display_name,
ES.*
FROM [Tfs_iSystems].[dbo].[tbl_EventSubscription] ES
INNER JOIN [Tfs_Configuration].dbo.tbl_security_identity_cache U
ON ES.SubscriberId = U.tf_id
我發現使用由web服務產生的XML繁瑣的工作。 一旦你有你需要我會通過使用WebService建議退訂的Id:
http://localhost:8080/tfs/DefaultCollection/Services/V1.0/EventService.asmx?op=UnsubscribeEvent
注意這是TFS2010
我很高興地說,在TFS的當前版本在Visual Studio Team Services中,管理員可以使用Team Web Access管理其他用戶的警報。謝天謝地,這應該是過去令人沮喪的場景。
我對這個主題在這裏寫了一個博客帖子提供一些更多的信息:http://www.edsquared.com/2012/02/09/Creating+EMail+Alerts+For+Team+Members+In+TFS.aspx
看起來不錯!備受期待的功能 – KMoraz 2012-02-09 23:06:34
這就是要走的路! – fmuecke 2014-12-19 07:47:09
同時它是當前的TFS版本。這應該是被接受的答案,或者應該至少有更多的讚揚 – CodingYourLife 2017-02-22 10:34:17
我不知道到底是什麼,我還沒有在這裏做什麼,但我只是有一個小的勝利並能得到的頁面上來,但我不得不改變路徑,以這樣的:
的「http://本地主機:8080/TFS/_tfs_resources /服務/ 1.0/EventService.asmx」
這對我有用在TFS 2010上。基本上有一個存儲過程刪除TFS數據庫中的訂閱。
- 連接到TFS機
- 運行SSMS
- 選擇本地機器的機器連接。
- 在對象資源管理器中,查找名爲
tfs_yourprojectname
的數據庫。 - 查找表命名
tbl_EventSubscription
並點擊右鍵=>在訂閱列表中選擇頂1000 - 查找並決定要刪除
- 尋找在對象命名
prc_UnsubscribeEvent
存儲過程中的一個的ID瀏覽器,右鍵單擊並選擇「執行存儲過程」。輸入事件訂閱表中的id列的值,以獲取要刪除的警報。
- 1. 防止用戶編輯其他條目
- 2. 如何防止TFS用戶編輯特定項目?
- 3. TFS編輯項目級信息權限
- 4. 編輯其他用戶的註冊表項
- 5. TFS提醒更改鏈接到評論的工作項目
- 6. 如何查看TFS中其他用戶簽出的所有項目?
- 7. 如何使用Django消息傳遞來提醒其他用戶?
- 8. 無法找到TFS 2013項目電子郵件提醒
- 9. QTreeView項目編輯器:如何使其僅在Enter按鈕上提交編輯?
- 10. 在C#中獲取Tfs通知/提醒#
- 11. TFS刪除其他用戶的鎖
- 12. 如何讓用戶只能在XAF中只編輯他的項目
- 13. PHP - 如何編寫可在其他項目中使用的用戶類?
- 14. 在Visual Studio 2010中擴展TFS工作項目編輯器
- 15. 帶內聯文本編輯的ng-repeat影響其他項目
- 16. 防止用戶編輯其他用戶的個人資料
- 17. 編輯其他用戶的用戶信息
- 18. 無法在項目中編輯項目錯誤NoMethodError#編輯
- 19. 限制用戶在Sharepoint 2010中的其他用戶打開時限制用戶編輯列表項
- 20. 在Jlist中編輯項目
- 21. TFS 2010中的電子郵件提醒
- 22. TFS 2012安全性 - 允許用戶編輯工作項目的狀態
- 23. 批量編輯TFS中的工作項目
- 24. 如何在其他asp.net項目中使用C#編寫的DLL?
- 25. 在其他用戶的項目中創建新任務
- 26. SiteCore - 在上面移動佔位符並禁止在編輯模式下編輯頁面中的其他項目
- 27. 管理員用戶允許刪除和編輯其他用戶
- 28. 從數組中提醒項目?
- 29. 如何與其他項目替換項目在TFS源控制,並保持相同的路徑在TFS
- 30. 如何爲TFS 2008中特定用戶故事或工作項目的任何更改設置提醒
我不知道我將能夠確定tfssetup密碼。我是機器上的管理員。如果我無法確定密碼,是否有安全的方法來設置密碼? – BlueMonkMN 2009-09-21 12:36:24
EventSubscriptionTool似乎足夠好,至少可以刪除訂閱。 – BlueMonkMN 2009-09-21 13:50:06
對於2010,請嘗試http:// localhost:8080/tfs/DefaultCollection/Services/V1.0/EventService.asmx等 – 2011-06-10 03:45:06