我意外地接管了我们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. TFS提醒更改链接到评论的工作项目
- 5. 如何查看TFS中其他用户签出的所有项目?
- 6. 如何使用Django消息传递来提醒其他用户?
- 7. Rebol编辑器的其他选项| IDE?
- 8. QTreeView项目编辑器:如何使其仅在Enter按钮上提交编辑?
- 9. 在C#中获取Tfs通知/提醒#
- 10. PHP - 如何编写可在其他项目中使用的用户类?
- 11. 带内联文本编辑的ng-repeat影响其他项目
- 12. 防止用户编辑其他用户的个人资料
- 13. 限制用户在Sharepoint 2010中的其他用户打开时限制用户编辑列表项
- 14. 在Jlist中编辑项目
- 15. TFS 2010中的电子邮件提醒
- 16. 如何在其他asp.net项目中使用C#编写的DLL?
- 17. 在其他用户的项目中创建新任务
- 18. 批量编辑TFS中的工作项目
- 19. 管理员用户允许删除和编辑其他用户
- 20. 如何与其他项目替换项目在TFS源控制,并保持相同的路径在TFS
- 21. 如何在TFS中撤消其他用户的结帐?
- 22. TFS用[Requested By]用户建立电子邮件提醒
- 23. VIM /其他编辑批量编辑
- 24. 如何通过其他编辑器自动签出TFS文件
- 25. TFS 2017“编辑项目级别信息”权限不起作用
- 26. 如何提醒用户他的网络连接是否中断
- 27. 我可以在代码中检查TFS 2013中的其他项目吗?
- 28. TFS提醒仅限某些用户办理登机手续
- 29. TFS - 更改为同一团队项目上的其他团队
- 30. 授予其他列表中项目的用户权限
我不知道我将能够确定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