Não é um usuário do Windows, portanto, gostaria de responder para a plataforma Linux, onde você já tem um comando interno conhecido como last
. Você pode escrever um script .sh
Se você quiser como um exercício, mas acho que usar o comando seria uma idéia melhor. No entanto,
último comando
Ele fornece uma listagem do último usuário logado e outros detalhes importantes sobre o tempo de login, níveis de execução do sistema, etc. Basta emitir um comando para saber o que você quer:
last
Ele deve mostrar algo assim:
john pts/0 :0 Mon Jun 4 09:20 still logged in
reboot system boot 4.4.0-127-generi Mon Jun 4 09:18 still running
john pts/1 :0 Sun Jun 3 09:41 - 10:30 (00:48)
john pts/1 :0 Sun Jun 3 09:41 - 09:41 (00:00)
Siga esta postagem para saber quais valores representam em cada coluna. Para obter mais detalhes, você pode usar parâmetros:
last -aFwx
onde
-
-a Exibe o
hostname
na última coluna, apenas melhora a formatação. - -F imprime datas e datas de início de sessão completo .
- -w mostra nomes completos de usuários e nomes de domínio e
- -x mostra as entradas de desligamento do sistema e as alterações no nível de execução.
Mostraria algo assim:
john pts/1 Mon Jun 4 14:10:25 2018 still logged in :0
john pts/0 Mon Jun 4 09:20:21 2018 still logged in :0
runlevel (to lvl 5) Mon Jun 4 09:19:37 2018 still running 4.4.0-127-generic
reboot system boot Mon Jun 4 09:18:24 2018 still running 4.4.0-127-generic
john pts/1 Sun Jun 3 09:41:37 2018 - Sun Jun 3 10:30:29 2018 (00:48) :0
Para gravar informações em um arquivo, basta redirecionar a saída do comando para um arquivo, digamos last_users.log
digitando isso:
last > last_user.log
OR
last -aFwx > last_user.log
Sinta-se à vontade para adicionar mais detalhes.