Consultas SQL para auditar un servidor TFS

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 del TFS

Listar usuarios, último acceso, razón, IP de origen y tiempo que tomo la ejecución de la consulta que ejecuto el usuario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Select
IdentityName AS ID,
StartTime AS Last_Access_Time,
Command AS Reason,
IPAddress AS IP,
ExecutionTime AS Time
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

Listar usuarios, ú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

1
2
3
4
5
6
7
8
9
10
11
12
Select
IdentityName AS ID,
StartTime AS Last_Access_Time,
Command as Reason,
IPAddress as IP,
ExecutionTime as Time
From
tbl_Command
Where
IdentityName like 'Domain\User'
Order by
Last_Access_Time desc

Auditar las últimas acciones de un usuario

Entradas de interés

Contenidos
  1. 1. Listar usuarios del TFS
  2. 2. Listar usuarios, último acceso, razón, IP de origen y tiempo que tomo la ejecución de la consulta que ejecuto el usuario
  3. 3. Auditar las últimas acciones de un usuario