วิธีใดที่จะได้รับครั้งล่าสุดที่หน้าจอถูกปลดล็อคใน macOS?


21

ฉันจะขอบคุณอย่างมากถ้ามีคนช่วยฉันปลดล็อกหน้าจอสุดท้าย (เช่นไปที่เมนู Apple> ล็อคหน้าจอ) ด้วยการปลดล็อคฉันหมายถึงเมื่อคุณล็อคหน้าจอคุณต้องปลดล็อคโดยป้อนรหัสผ่าน ฉันเดาว่านี่ถูกลงทะเบียนในไฟล์บันทึกหรือมีคำสั่ง Terminal เพื่อรับสิ่งนี้

ฉันคิดว่าสิ่งนี้จะต้องเป็นไปได้เพราะเมื่อคุณใช้การควบคุมโดยผู้ปกครองและคุณตั้งค่าการ จำกัด เวลาสำหรับผู้ใช้หากผู้ใช้ล็อกหน้าจอเวลาบนหน้าจอล็อคดูเหมือนจะไม่นับรวมกับเวลาที่อนุญาต บอกเป็นนัยว่าหน้าจอล็อคมีการลงทะเบียนในไฟล์บันทึกหรือไม่?

ต่อไปนี้อยู่ในภาพหน้าจอของข้อความที่ตัดตอนมาจากเทอร์มินัลเอาท์พุตหลังจากรันรหัส High Sierra ที่ระบุไว้ในคำตอบของ @ JBis: ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


12

หากคุณไปที่แอพ Console ใน Mac ของคุณ (จะอยู่ในโฟลเดอร์ Applications / Utilities) และคลิกที่ "ข้อมูลการวิเคราะห์ Macs" ซึ่งปรากฏที่ด้านซ้ายของหน้าต่าง รายงานนี้มีข้อความ "loginwindow" และถูกประทับด้วยเวลาและมีคำว่า "screenlock" ในบรรทัดเดียวกัน ฉันเพิ่งล็อคและหน้าจอแล้วปลดล็อคมันและฉันได้รับข้อความนั้น คุณสามารถรวมคำศัพท์ "loginwindow" และ "screenlock" ทั้งหมดได้ นี่ควรให้รายการเวลาที่เหตุการณ์เหล่านี้เกิดขึ้น

บันทึกนี้สามารถอยู่กับ Finder โดยคลิกขวาที่> เปิดเผยในตัวค้นหา (อย่างน้อยใน macOS High Sierra)


1
ว้าว! ดูเหมือนว่าจะเป็นหนึ่ง แต่ดูเหมือนว่าจะแสดงเฉพาะ 3 วันที่ผ่านมามีวิธีที่จะเห็นเวลามากขึ้นหรือไม่
Antonio23249

ที่ฉันไม่รู้ ขอโทษ
jmh

ดีที่สุดที่ฉันสามารถบอกได้ว่าข้อความของฉันย้อนกลับไป 5 วัน ดูเหมือนว่าการค้นหา "Lockscreen" นั้นดีที่สุด
jmh

ขอบคุณมากฉันควรทำอย่างไรคุณจะได้รับเงินรางวัลนี้? .. ไม่เคยทำมาก่อน
Antonio23249

ที่ทำงานเราจำเป็นต้องได้รับการใช้งานครั้งสุดท้ายสำหรับเครื่อง mac ที่เราได้รับเพื่อทำการซ่อมแซมซึ่งอาจช่วยได้มาก ความสามารถในการปลดล็อก mac เป็นข้อมูลที่ดีที่ผู้ใช้ใช้งานจริง
Antonio23249

18

ปรากฏว่า macOS รุ่นต่างๆใช้บันทึกที่แตกต่างกันเพื่อแทนที่สิ่งนี้ ไม่มีใครที่ผมได้พบแสดงเข้าสู่ระบบที่แตกต่างกันสำหรับ "เข้าสู่ระบบ" หรือ "ปลดล็อค" ฉันได้ตอบสิ่งที่ดีที่สุดถัดไป: วิธีการค้นหาการเข้าสู่ระบบ / ปลดล็อคทั้งหมด คำสั่งเทอร์มินัลต่อไปนี้จะแสดงวันที่ในเวลาที่การล็อกอินหรือปลดล็อกเกิดขึ้น


ด้วยความช่วยเหลือของคำตอบนี้และใช้เวลาหนึ่งชั่วโมงในการดูบันทึกฉันคิดว่า:

ป.ล. คุณสามารถใช้--lastแท็กที่เป็นประโยชน์เพิ่มเติมเพื่อ จำกัด เวลาที่สัมพันธ์กับตอนนี้ ตัวอย่างเช่น--last 5mจะเป็นเพียง 5 นาทีสุดท้าย--last 5hจะเป็น 5 ชั่วโมงที่ผ่านมาและ--last 5dจะเป็น 5 วันสุดท้าย


macOS Mojave

ตรวจสอบความพยายามในการปลดล็อคที่ถูกบล็อก (รหัสผ่านไม่ถูกต้องหรือ Touch ID):

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

คำอธิบาย:คำสั่งที่จะมองผ่านบันทึกและหาคนที่มาจากกระบวนการและมี"loginwindow"LUIAuthenticationServiceProvider activate]_block_invoke


ตรวจสอบความพยายามในการปลดล็อคที่ถูกต้อง (รหัสผ่านที่ถูกต้องหรือ Touch ID):

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

คำอธิบาย:คำสั่งที่จะมองผ่านบันทึกและหาคนที่มาจากกระบวนการและมี"loginwindow"LUIAuthenticationServiceProvider deactivateWithContext:]_block_invoke


macOS สูงเซียร์รา

WIP

ตรวจสอบความพยายามในการปลดล็อคที่ถูกบล็อก (รหัสผ่านไม่ถูกต้องหรือ Touch ID):

...


ตรวจสอบความพยายามในการปลดล็อคที่ถูกต้อง (รหัสผ่านที่ถูกต้องหรือ Touch ID):

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

macOS Sierra

ตรวจสอบความพยายามในการปลดล็อคที่ถูกบล็อก (รหัสผ่านไม่ถูกต้องหรือ 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"

ตรวจสอบความพยายามในการปลดล็อคที่ถูกต้อง (รหัสผ่านที่ถูกต้องหรือ Touch ID):

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

ฉันลองทั้งคู่แล้วพวกเขาจะไม่คืนสิ่งใดเลย คุณดูเหมือนจะมุ่งไปในทิศทางที่ถูกต้อง ฉันไม่ค่อยรู้เรื่องเทอร์มินัลการค้นหาเหล่านั้น system.log ทำอะไรฉันไม่พบ "UIAuthenticationServiceProvider deactivateWithContext:] _ block_invoke" ใน system.log ขอบคุณมากสำหรับความพยายามของคุณฉันต้องการสิ่งนี้จริงๆ
Antonio23249

@ Antonio23249 ดูการอัปเดต
JBis

สวัสดีขอบคุณอีกครั้ง…ดีนี่ดูเหมือนจะไม่ทำงานฉันล็อคแล้วปลดล็อคหน้าจอเวลา 16:42:50 จากนั้นรีสตาร์ทเครื่องและ 16:06:10 ฉันรอสองสามนาทีเพื่อให้ บันทึกเวลาในการติดตาม ตามการปลดล็อคครั้งล่าสุดเมื่อวันที่ 2018-07-28 17: 13: 28.241846 + 0100 ใช่ไหม? นี่คือ Mac Mini 2014 บน macOS High Sierra 10.13.6
อันโตนิโอ 23249

การเข้าสู่ระบบอาจจะทริกเกอร์บันทึกนี้เพราะการเข้าสู่ระบบปลดล็อค เหตุการณ์ 16:42:50 แสดงให้เห็นหรือไม่? ในทางทฤษฎีมันควรจะเป็นคนที่สอง
JBis

ฉันได้เพิ่มภาพหน้าจอของผลลัพธ์ลงในโพสต์ดั้งเดิมของฉันด้านบน (ฉันไม่สามารถเพิ่มได้ทุกที่) ฉันได้เพิ่มอีกครั้งภาพหน้าจอแรกที่ฉันเพิ่มไม่ถูกต้อง
Antonio23249

2

MacOS Catalina มีรูปแบบบันทึกที่แตกต่างจาก Mojave ขึ้นอยู่กับคำตอบจากJBisผมเขียนสคริปต์สำหรับ Catalina เรียก 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'

เพื่อให้ได้ข้อความค้นหาที่ต้องการฉันล็อคและปลดล็อคคอมพิวเตอร์ของฉันเพื่อให้แน่ใจว่ามีเหตุการณ์แล้วดูบันทึกในนาทีสุดท้ายด้วย

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

0

สิ่งนี้จะช่วยให้คุณได้รับวินาทีตั้งแต่ปลดล็อค / ล็อคครั้งล่าสุด:

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

เปิดเทอร์มินัลและประเภท

last

ควรให้ข้อมูลบันทึก

นี่คือหน้าคู่มือของคำสั่งนี้:

คู่มือล่าสุด


ขอบคุณสำหรับคำตอบของคุณคุณแน่ใจหรือว่าหน้าจอแสดงการปลดล็อค ดูเหมือนว่าจะแสดงเฉพาะการลงชื่อเข้าใช้จริงเท่านั้น
Antonio23249

คุณถูกต้อง @ Antonio23249 การปลดล็อกหน้าจอไม่ใช่การเข้าสู่ระบบใหม่ lastแสดงการเข้าสู่ระบบล่าสุดเท่านั้น จากman last: ล่าสุดจะแสดงรายการเซสชันของผู้ใช้ที่ระบุ ttys และโฮสต์ตามลำดับเวลาย้อนกลับ แต่ละบรรทัดของเอาต์พุตประกอบด้วยชื่อผู้ใช้ tty ที่เซสชันดำเนินการชื่อโฮสต์ใด ๆ เวลาเริ่มต้นและหยุดสำหรับเซสชันและระยะเวลาของเซสชัน หากเซสชั่นยังคงดำเนินการต่อหรือถูกตัดสั้นโดยความผิดพลาดหรือการปิดระบบล่าสุดจะระบุ
IconDaemon

ขอขอบคุณสำหรับคำตอบของคุณ ฉันคิดว่าสิ่งนี้จะต้องเป็นไปได้เพราะเมื่อคุณใช้การควบคุมโดยผู้ปกครองและคุณตั้งค่าการ จำกัด เวลาสำหรับผู้ใช้หากผู้ใช้ล็อกหน้าจอเวลาบนหน้าจอล็อคดูเหมือนจะไม่นับรวมกับเวลาที่อนุญาต บอกเป็นนัยว่าหน้าจอล็อคมีการลงทะเบียนในไฟล์บันทึกหรือไม่?
Antonio23249
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.