命令列出所有用户帐户及其上次登录信息?

命令列出所有用户帐户及其上次登录信息?

我正在使用这行脚本通过终端返回 Mac 上的用户帐户列表:

dscl . list /Users | grep -v '_'

虽然它返回所有用户帐户的列表,但我还需要它列出他们上次登录的信息。

我试图研究我还可以输入哪些其他命令,但没有成功。

如何返回 Mac 计算机上的用户帐户列表以及旁边的用户帐户上次登录信息?

答案1

您可以循环用户帐户并调用该last命令。

这是一个小脚本:

#!/bin/bash

while read user; do
    if ! last -5 "$user" | grep "^$user"; then
        printf "$user\tno session found\n"
    fi
done < <(dscl . list /Users | grep -v '^_')

您还可以向lastlike提供多个用户名last user1 user2,但除非用户存在会话数据,否则您不会获得任何输出。

在上面的脚本中,选项-5用于将输出限制为 5 个(最近的)条目,并grep确保每行都以您要查找的用户名开头。如果没有找到行,则为no session found用户打印。

运行脚本时请确保您具有管理员权限,否则输出last将为空。

相关内容