すべてのユーザーアカウントと最後のログイン情報を一覧表示するコマンド?

すべてのユーザーアカウントと最後のログイン情報を一覧表示するコマンド?

端末経由で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です。

おすすめ記事