Hace poco me solicitaron un listado de usuarios con permisos de acceso al Team Foundation Server (TFS). Si bien estos datos se pueden obtener desde la consola del TFS, o desde el interfaz web, en un entorno con muchos grupos anidados puede ser una tarea titánica. Además se deseaba, a ser posible, tener la posibilidad de auditar las acciones de los usuarios.
Tras investigar un poco, e incluso probar con algunos scripts PowerShells, opte por hacer consultas SQL para recuperar la información facilitada, en concreto use las siguientes tres consultas SQL:
Listar usuarios del TFS.
Listar usuarios incluyendo último acceso, razón, IP de origen y tiempo que tomo la ejecución de la consulta que ejecuto el usuario.
Auditar las últimas acciones de un usuario.
Listar usuarios del TFS
1
2
3
4
5
6
7
8
9
Select
ADO.DomainName AS Domain,
ADO.SamAccountName AS Login,
ADO.MailNickName AS email,
ADO.DisplayName AS Name
From
ADObjects ADO
Order By
Domain,Login,Name
Listar usuarios, último acceso, razón, IP de origen y tiempo que tomo la ejecución de la consulta que ejecuto el usuario