Descobre o nome de todos os servidores que uma conta paticular registrou ou tem uma sessão desconectada nela

1

Oi Temos cerca de 400+ de servidores e um domínio + 3 subdomínios,  Sempre que alteramos uma senha [Por motivos de segurança], as contas ficam bloqueadas assim que a desbloqueamos. Portanto, há uma maneira de listar todos os servidores ou estações de trabalho para listar se uma conta de usuário está conectada ou se tem uma sessão desconectada ou ociosa para que possamos efetuar logout.

    
por jacksh 21.12.2015 / 09:04

1 resposta

2

Seguir uma prova de conceito pode ajudar você a começar. A idéia é usar o Powershell para pesquisar logs de eventos para eventos de logon / logoff para um determinado SID.

  1. Encontre o SID usando (Get-ADUser <username>).SID no Powershell
  2. Executar no powershell
   $query = @"
   <QueryList>
     <Query Id="0" Path="System">
       <Select Path="System">
         *[EventData[Data[@Name='UserSid']='<SID>']]
         and (*[System[(EventID='7001')]] or *[System[(EventID='7002')]])
      </Select>
     </Query>
   </QueryList>
 "@
('server1', 'server2) | % {Get-WinEvent -ComputerName $_ -Filterxml $query -MaxEvents 1}

O filtro xml retorna apenas eventos de logon / logoff. Selecionando apenas 1 evento usando MaxEvents , você obtém uma lista de todos os servidores que você passou para o método Get-WinEvent com uma mensagem de logon ou logoff. As mensagens de logon são servidores nos quais o SID ainda está conectado.

    
por 21.12.2015 / 10:46