Crie um GPO que se aplique aos servidores que você deseja monitorar e, em Configuração do computador > Políticas > Configurações do Windows > Configurações de segurança > Políticas locais > Política de Auditoria, ative "Auditar Eventos de Logon" em Sucesso e / ou Falha, dependendo de seus requisitos.
Não ative os eventos de logon da conta de auditoria, se os servidores que você está monitorando forem DCs. Os eventos de logon da conta são gerados em controladores de domínio quando alguém faz logon com sua conta de usuário de domínio para ver muitos eventos.
Em suma, um "Evento de logon" é criado quando um usuário faz logon em um computador, um "Evento de logon da conta" é criado em um controlador de domínio quando um usuário faz logon com sua conta de usuário de domínio, mas o computador ao qual eles faça logon para gerar interativamente um evento de logon da conta também. Isto é o que você deseja monitorar. Juntamente com o EventForwarding (para seus servidores capacitados), você pode monitorar seu próprio log de eventos ou usar traps SNMP para capturar os eventos usando evntwin.exe
e encaminhá-los para um sistema de monitoramento / alerta SNMP.
Nas estações de trabalho dos usuários, eu uso um VBScript que abre um processo oculto do IE para um servidor interno com PHP / MySQL instalado, o que simplesmente faz o dump do nome de usuário entrar no banco de dados e é isso.
O VBScript:
Set oIE = CreateObject("InternetExplorer.Application")
Set oNet = CreateObject("WScript.Network")
sComputerName = oNet.ComputerName
sUsername = oNet.UserName
oIE.Navigate "http://intranet/logon/logon.php?un=" & Trim(sUsername) & "&ma=" & Trim(sComputerName)
Do While oIE.Busy = True
WScript.Sleep 500
Loop
oIE.Quit
Set oIE = Nothing
WScript.Quit
Obviamente, você precisa do servidor web, PHP e banco de dados MySQL para isso, então, se é algo que você está interessado, me avise e vou extrair esses bits também. Você pode aplicar isso usando um GPO também, mas com uma ressalva, ele só pode ser executado na seção Configuração do usuário do seu GPO.
Então, duas opções para você lá. HTH.
Edit: Aqui está o script PHP mencionado acima. Fácil mesmo.
mysql_connect('mysqlserver', 'username', 'password');
mysql_select_db('database');
$un = trim(addslashes($_GET['un']));
$ma = trim(addslashes($_GET['ma']));
mysql_query("INSERT INTO userlist (user_logon_name, machine_name, logon_time) VALUES ('$un', '$ma', now())");
echo "User ". $_GET['un']. " logged on.";
Felicidades