Eu tive que resolver esse problema para fazer suporte remoto em toda a minha empresa. Coisas como PsLoggedOn e ferramentas para verificar os logs de segurança do controlador de domínio provaram ser muito lentas para meus propósitos (fazer com que o nome do host fizesse suporte remoto para os usuários). Aqui está o que eu vim com:
- Todos os usuários têm uma unidade mapeada para X: no AD, na pasta Perfil - Página inicial
- Todo mundo tem o script abaixo atribuído em Perfil - Script de logon
Esse script registra o computador em que eles efetuaram login na pasta inicial. Especificamente, eles não registram o logon no servidor de terminal, porque não me importo com essas entradas.
'===============================================================
' Record the logon in their X: drive UNLESS they are on TERM-SERVER!
'===============================================================
If strComputerName <> "TERM-SRVER" Then
strFile = "X:\login.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(strFile, 8, True)
objTextFile.WriteLine(strIP + " - " + strComputerName + " - " + CStr(Date) + " " + CStr(Time))
objTextFile.Close
' Make it hidden
Set objTextFile = objFSO.GetFile(strFile)
objTextFile.Attributes = 2
End If
Depois, uso um pouco de VBscript na minha máquina local para encontrar automaticamente o diretório inicial no AD, abrir o arquivo de log e imprimir as últimas linhas.