Можно ли (и как) сказать, какой пользователь и когда последний раз входил в систему перед текущим пользователем, через интерфейс командной строки? Конечная цель - написать скрипт, который записывает эту информацию в файл.
1 ответ
Не пользователь Windows, поэтому хотел бы ответить для платформы Linux, где у вас уже есть встроенная команда, известная как last
. Вы можете написать скрипт .sh
Если вы хотите в качестве упражнения, но я думаю, что использование команды было бы лучшей идеей. Тем не мение,
последняя команда
Он дает вам список последнего пользователя, вошедшего в систему, и другие важные сведения о времени входа в систему, уровнях запуска системы и т.д. Просто введите команду, чтобы узнать, чего вы хотите:
last
Это должно показать что-то вроде этого:
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)
Следуйте этому посту, чтобы узнать, что означают значения в каждом столбце. Чтобы получить более подробную информацию, вы можете использовать параметры:
last -aFwx
где
- -a Отображает
hostname
в последнем столбце, просто улучшает форматирование. - -F печатает полное время входа и выхода из системы и даты.
- -w показывает полные имена пользователей и доменные имена и
- -x показывает записи выключения системы и изменения уровня запуска.
Было бы показать что-то вроде этого:
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
Чтобы записать информацию в файл, просто перенаправьте вывод команды в файл, скажем last_users.log
, набрав:
last > last_user.log
ИЛИ ЖЕ
last -aFwx > last_user.log
Не стесняйтесь добавлять дополнительные детали.