Há mais de uma maneira de fazer isso.
- O primeiro e mais fácil é ir para as configurações de "sistema" (no painel de controle ou pressionar Windows + Pause). A lista de todas as contas que foram usadas para fazer login no computador pode ser encontrada na guia "Avançado", na seção "Perfil do usuário". Mas isso não pode ser roteirizado.
- Você também pode verificar a lista do usuário do perfil, procurando no diretório bom (C: \ Usuários ou C: \ Documents and Settings de acordo com o seu sistema). Mas se vários usuários tiverem o mesmo nome de usuário em vários ambientes, você não poderá determinar de qual domínio o usuário efetuou login, a não ser marcando a ACL na pasta de perfil inicial.
- Por último, você pode fazer o script usando o WMI, usando a classe "win32_loggedonuser". Aqui está um pequeno script gerado por Scriptomatic V2 :
On Error Resume Next Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 arrComputers = Array("localhost") For Each strComputer In arrComputers WScript.Echo WScript.Echo "==========================================" WScript.Echo "Computer: " & strComputer WScript.Echo "==========================================" Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LoggedOnUser", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems WScript.Echo "Antecedent: " & objItem.Antecedent WScript.Echo "Dependent: " & objItem.Dependent WScript.Echo Next Next