Un modo per ottenere le ultime volte che lo schermo è stato sbloccato in macOS?


21

Sarei immensamente grato se qualcuno mi avesse aiutato a ottenere gli ultimi sblocchi della schermata (ad esempio andando nel menu Apple> schermata di blocco). Con sblocco intendo quando blocchi lo schermo, devi sbloccarlo inserendo la password. Immagino che questo sia registrato in alcuni file di registro o che ci sia qualche comando Terminale per ottenerlo.

Immagino che ciò debba essere possibile perché, quando si utilizza il controllo genitori e si imposta un limite di tempo per un utente, se l'utente blocca lo schermo, il tempo sulla schermata di blocco non sembra contare rispetto al tempo consentito, che sembra implica che le schermate di blocco sono registrate in alcuni file di registro ??

Di seguito è riportato uno screenshot di un estratto dall'output del terminale dopo aver eseguito il codice High Sierra elencato nella risposta di @ JBis: inserisci qui la descrizione dell'immagine

Risposte:


12

Se vai all'app Console sul tuo Mac (si trova nella cartella Applicazioni / Utility) e fai clic su "Dati Analytics per Mac" che appare sul lato sinistro della finestra. Questo rapporto ha un messaggio "loginwindow" ed è timbrato con un tempo e ha la parola "screenlock" sulla stessa riga. Ho appena bloccato e schermato e poi sbloccato e ho ricevuto quel messaggio. È possibile estrarre tutti i termini "finestra di accesso" e i termini "blocco schermo". Questo dovrebbe darti un elenco di volte in cui si sono verificati questi eventi.

Questo registro può essere localizzato con il Finder facendo clic con il tasto destro del mouse> rivelare nel finder (almeno in macOS High Sierra)


1
Wow! quello sembra essere quello, ma sembra mostrare solo gli ultimi 3 giorni, c'è un modo per vedere più tempo indietro?
Antonio23249,

Che non lo so. Scusate.
jmh

Meglio posso dire che i miei messaggi risalgono a 5 giorni fa. Sembra che una ricerca su "Lockscreen" sia la migliore.
jmh

Grazie mille, cosa devo fare per ricevere questa roba di taglia? ..non l'ho mai fatto prima.
Antonio23249,

Al lavoro abbiamo bisogno di ottenere l'ultimo utilizzo per uno dei mac che riceviamo per la riparazione, questo può aiutare molto. Essere in grado di sbloccare il Mac è un buon pezzo di dati che l'utente stava effettivamente utilizzando la macchina.
Antonio23249,

18

Sembra che diverse versioni di macOS utilizzino registri diversi per rappresentare questo. Nessuno dei quali, ho trovato, mostra un registro diverso per un "login" o uno "sblocco" . Ho risposto alla prossima cosa migliore: come trovare tutti gli accessi / sblocchi. I seguenti comandi del terminale mostreranno la data in cui si è verificato un accesso o uno sblocco.


Con l'aiuto di questa risposta e trascorrendo un'ora a guardare i registri, ho capito:

PS È inoltre possibile utilizzare il --lasttag utile per limitare a un tempo specifico rispetto a ora. Ad esempio --last 5msarebbero solo gli ultimi 5 minuti, --last 5hsarebbero le ultime 5 ore e --last 5dsarebbero gli ultimi 5 giorni.


macOS Mojave

Verifica tentativi di sblocco bloccati (password non valida o Touch ID):

log show --style syslog --predicate 'process == "loginwindow"' --debug --info | grep "LUIAuthenticationServiceProvider activate]_block_invoke"

Spiegazione: Il comando esaminerà i registri e troverà quelli che provengono dal processo "loginwindow"e contengono LUIAuthenticationServiceProvider activate]_block_invoke.


Verifica tentativi di sblocco validi (password valida o Touch ID):

 log show --style syslog --predicate 'process == "loginwindow"' --debug --info | grep "LUIAuthenticationServiceProvider deactivateWithContext:]_block_invoke"

Spiegazione: Il comando esaminerà i registri e troverà quelli che provengono dal processo "loginwindow"e contengono LUIAuthenticationServiceProvider deactivateWithContext:]_block_invoke.


macOS High Sierra

WIP

Verifica tentativi di sblocco bloccati (password non valida o Touch ID):

...


Verifica tentativi di sblocco validi (password valida o Touch ID):

log show --style syslog --predicate 'process == "loginwindow"' --debug --info | grep "LAClient evaluatePolicy:options:uiDelegate:reply:]_block_invoke"

macOS Sierra

Verifica tentativi di sblocco bloccati (password non valida o Touch ID):

log show --style syslog --predicate 'process == "loginwindow"' --debug --info | grep "Verify password called with PAM auth set to YES, but pam handle == nil"

Verifica tentativi di sblocco validi (password valida o Touch ID):

log show --style syslog --predicate 'process == "loginwindow"' --debug --info | grep "SecKeychainLogin result: 0, password was supplied"

Ho provato entrambi e non restituiscono nulla. Sembra che tu sia diretto nella giusta direzione. Non sono molto istruito con Terminal, cosa cercano quelle, system.log ?, Non ho trovato alcun "UIAuthenticationServiceProvider disattivateWithContext:] _ block_invoke" in system.log. Grazie mille per il tuo impegno, ne ho davvero bisogno.
Antonio23249,

@ Antonio23249 Vedi aggiornamento.
JBis

Salve, grazie ancora ... beh, sembra non funzionare, ho bloccato e poi sbloccato lo schermo alle 16:42:50 quindi ho riavviato la macchina e 16:06:10, ho aspettato un paio di minuti per dare il registra il tempo per recuperare. Secondo questo ultimo sblocco è stato il 28/07/2018 17: 13: 28.241846 + 0100 giusto? Questo è un Mac Mini 2014 su macOS High Sierra 10.13.6
Antonio23249,

Beh, un login potrebbe anche innescare questo log perché un login lo sta sbloccando bene. L'evento 16:42:50 ha anche mostrato? Teoricamente dovrebbe essere il secondo.
JBis,

Ho aggiunto uno screenshot del risultato al mio post originale sopra (non potrei aggiungerlo altrove). L'ho aggiunto di nuovo, il primo screenshot che ho aggiunto non era giusto
Antonio23249,

1

MacOS Catalina ha un formato di registro diverso da Mojave. Sulla base della risposta di JBis , ho scritto una sceneggiatura per Catalina chiamata lockunlock.sh

#!/bin/sh
PERIOD=1d
if [[ $# -ge 1 ]]; then
    PERIOD=$1
fi
echo "Times of Mac screen lock and unlock events in the past ${PERIOD}:"
SEARCH_FOR="going inactive, create activity semaphore|releasing the activity semaphore"
log show --style syslog --predicate 'process == "loginwindow"' --debug --info --last ${PERIOD} | grep -E "${SEARCH_FOR}" | cut -c '1-32 141-155'

Per arrivare al termine di ricerca desiderato, ho bloccato e sbloccato il mio computer per assicurarmi che ci fossero eventi, quindi ho visualizzato l'ultimo minuto del registro con

log show --style syslog --predicate 'process == "loginwindow"' --debug --info --last 1m | less

0

Questo ti dà i secondi dall'ultimo sblocco / blocco:

function  getlastunlock-darwin() {
    date="$(log show --style syslog --predicate 'process == "loginwindow"' --debug --info --last 1d | command rg "going inactive, create activity semaphore|releasing the activity semaphore" | tail -n1 |cut -c 1-31)" fromnow
}
function fromnow() {
    python3 -c 'import datetime ; from dateutil.parser import parse ; import os
date = parse(os.environ["date"])
print((datetime.datetime.now(date.tzinfo) - date).total_seconds())'
}

-1

Apri il terminale e digita

last

questo dovrebbe fornire informazioni di registro

ecco la pagina di manuale di questo comando:

ultimo manuale


Grazie per la tua risposta, sei sicuro che uno mostri gli sblocchi dello schermo? sembra mostrare solo accessi effettivi
Antonio23249

Hai ragione, @ Antonio23249. Uno sblocco dello schermo non è un nuovo accesso. lastmostra solo gli ultimi accessi. Da man last: Last elencherà le sessioni di utenti, tty e host specificati, in ordine di tempo inverso. Ogni riga di output contiene il nome utente, il tty da cui è stata condotta la sessione, qualsiasi nome host, i tempi di inizio e fine della sessione e la durata della sessione. Se la sessione continua ancora o è stata interrotta da un arresto anomalo o da un arresto, l'ultimo lo indica.
IconDaemon,

Grazie comunque per la tua risposta, ho creato una generosità. Immagino che ciò debba essere possibile perché, quando si utilizza il controllo genitori e si imposta un limite di tempo per un utente, se l'utente blocca lo schermo, il tempo sulla schermata di blocco non sembra contare rispetto al tempo consentito, che sembra implica che le schermate di blocco sono registrate in alcuni file di registro ??
Antonio23249,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.