如何获取当前/活跃的TFS用户列表?

时间:2018-02-02 15:42:05

标签: tfs2015

我可以使用TFSCONFIG IDENTITIES来查看TFS中的所有用户,但是,它会提取多年前不再拥有AD帐户的帐户。我想将搜索限制为只有拥有AD帐户的人。这可能吗?我确实找到了下面的博客,但在我尝试之前,我想看看是否有一个PowerShell脚本或TFS命令可以提供我需要的东西。谢谢。

https://blogs.msdn.microsoft.com/tfssetup/2013/09/18/how-to-generate-a-report-of-active-users-who-log-onto-the-tfs-server/

2 个答案:

答案 0 :(得分:0)

没有这样的TFS命令行可以处理这种情况。害怕你必须通过TFS中的集合数据库级别来获取相关信息。

您可以使用Last_Access_Time,示例脚本如下:

SELECT IdentityName,
StartTime,
Command,
IPAddress,
ExecutionTime
FROM tbl_Command WHERE CommandId IN
(SELECT Max(CommandId) FROM tbl_Command WHERE Application NOT LIKE 'Team Foundation JobAgent' Group By IdentityName ) ORDER BY Last_Access_Time DESC

注意,在运行SQL脚本之前,您可以仔细检查是否有更改的内容,是否有某些列不再可用,因为博客已过期。

另一种方法是在TFS数据库中归档tbl_command的内容。在TFS数据库中tbl_command捕获连接信息。默认情况下,此表仅存储14天的信息。你可以看看这个类似的问题:Find out the users that has logged-in to TFS in last 6 months

您可以设置另一个数据库,并有一份工作来复制信息以供长期使用。详情请参阅此sample

答案 1 :(得分:0)

阅读本文并结合几个相关的主题后,我发现以下对我而言非常有用(在TFS2015U3上):

USE [Tfs_YourTeamProjectCollectionNameHere]  -- Optional if you already have Query connected to your TPC.
SELECT IdentityName AS [User], Max(StartTime) AS [LastConnect] FROM tbl_Command with (nolock) GROUP BY IdentityName ORDER BY [LastConnect] DESC

每个用户的最后登录信息-每个www.databaseforum.info/30/1174675.aspx(可能从其他原始来源中抓取) 和合法参考“我的服务器在做什么?” https://blogs.msdn.microsoft.com/jefflu/2005/08/11/team-foundation-whats-my-server-doing/

干杯,享受吧! -Zephan