Osx

命令列出所有使用者帳戶以及他們上次登錄的資訊?

  • June 10, 2019

我正在使用這行腳本通過終端返回我在 Mac 上的使用者帳戶列表:

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

雖然它返回所有使用者帳戶的列表,但我還需要它列出他們最後登錄的資訊。

我試圖研究我還可以輸入哪些其他命令,但沒有成功。

如何返回 Mac 電腦上的使用者帳戶列表以及旁邊的使用者帳戶上次登錄資訊?

您可以遍歷使用者帳戶並呼叫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將為空。

引用自:https://unix.stackexchange.com/questions/523901