本文目录导读:

查看电脑的登录日志(账户登录历史记录)是系统管理和安全审计的常见需求,具体操作取决于你使用的操作系统(Windows 或 macOS)。
以下是针对 Windows 和 macOS 的详细查看方法。
Windows 系统(最常用)
Windows 将登录事件记录在“事件查看器”中。
方法 1:使用事件查看器 (Event Viewer)
-
打开事件查看器:
- 按下
Win + R键,输入eventvwr.msc,然后按回车。 - 或者直接在开始菜单搜索“事件查看器”。
- 按下
-
定位登录日志:
- 在左侧菜单中,依次展开:Windows 日志 -> 安全。
-
筛选登录事件:
- 右侧的“安全”日志会显示所有安全相关事件,数量很多,你需要筛选出登录相关的 事件 ID。
- 点击右侧菜单的 “筛选当前日志...”。
- 在弹出的窗口中,在 “事件 ID” 输入框里输入:
4624, 4634, 4648, 4776。- 4624:登录成功(最常用)。
- 4634:注销。
- 4648:使用显式凭据登录(如运行其他程序时输入不同账户)。
- 4776:域控制器/本地安全机构账户认证(通常涉及本地账户验证)。
- 点击“确定”。
-
解读日志条目:
- 双击任意一条 ID 为 4624 的日志。
- 在“常规”选项卡中,关注以下信息:
- 帐户名:登录的用户名。
- 登录类型:非常重要,数字代表登录方式:
2:交互式登录(你在本地键盘上登录)。3:网络登录(访问共享文件夹或远程桌面? 不完全对,远程桌面是10)。10:远程交互式登录(最重要的:远程桌面连接 RDP)。4:批处理登录。5:服务启动。
- 源网络地址:如果是远程登录(类型 10),这里会显示登录来源的 IP 地址。
- 进程名称/ID:登录进程名(如
winlogon.exe是本地登录,svchost.exe是远程服务)。
小技巧:如果想只查看远程桌面登录,直接在筛选器中输入事件 ID 4624,然后手动查看“登录类型”是否为 10,更专业的方法是使用 PowerShell 或 Wevtutil 命令进行高级筛选。
方法 2:使用 PowerShell (更高级)
对于有大量日志的系统,PowerShell 更高效。
-
以管理员身份打开 PowerShell。
-
输入以下命令(查询最近 50 条登录成功记录):
Get-WinEvent -LogName Security -MaxEvents 50 | Where-Object { $_.Id -eq 4624 } | Format-List TimeCreated, Message -
要筛选出远程桌面登录(类型 10)并显示IP地址:
Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='LogonType']='10']]" -MaxEvents 20 | Format-List TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='SourceIP';e={$_.Properties[18].Value}}
方法 3:使用“计算机管理”中的“系统工具”
(此方法本质上是事件查看器的快捷方式)
- 右键点击“此电脑”(或“我的电脑”) -> 选择 “管理”。
- 在左侧:系统工具 -> 事件查看器 -> Windows 日志 -> 安全。
- 后续操作与方法 1 相同。
macOS 系统
macOS 将登录记录存储在统一的日志数据库中,通过“控制台”应用或 log 命令查看。
方法 1:使用“控制台”应用 (Console)
- 打开 “控制台” 应用(在“应用程序” -> “实用工具”内,或通过 Spotlight 搜索)。
- 在搜索栏中输入
loginwindow。 - 配合时间过滤,可以看到每次用户登录(
LOGIN)、注销(LOGOUT)、锁定/解锁屏幕的事件。
方法 2:使用 log show 命令 (终端)
-
打开 “终端” (Terminal)。
-
查看最近的登录事件:
log show --predicate 'subsystem == "com.apple.loginwindow"' --last 1h
(这个命令显示过去 1 小时的登录窗口活动)
-
查看所有成功的 SSH 登录(如果启用了远程登录):
log show --predicate 'process == "sshd" and eventMessage contains "Accepted"' --last 24h
-
检查系统日志中的认证失败记录:
log show --predicate 'eventMessage contains "authentication failure"' --last 7d
Linux 系统 (补充)
如果你使用的是 Linux 服务器,常用的命令是:
last:查看最近的登录记录(读取/var/log/wtmp文件)。lastb:查看失败的登录尝试(读取/var/log/btmp文件)。journalctl -u sshd(对于 systemd 系统):查看 SSH 服务的详细日志。
总结与注意事项
- 权限要求:查看安全日志通常需要管理员权限(Windows 上需以管理员身份运行程序或命令;macOS/Linux 上可能需要
sudo)。 - 日志大小:系统日志会循环覆盖,默认情况下,Windows 安全日志最多可保留几十 MB 的历史,时间跨度取决于你电脑的使用频率,如果日志未被手动清理,通常可以追溯到几天到几周前。
- 判断异常登录:
- 关注“登录类型” = 10 (远程桌面):确认该 IP 地址是否为你自己的设备(如手机、公司电脑)。
- 关注“登录类型” = 3 (网络) 并伴随大量失败 (ID 4625):可能是网络扫描或爆破。
- 关注非工作时间、非地理位置的登录:你在北京,但日志显示凌晨 3 点有从国外 IP 的登录,这就很可疑。
- 事件 ID 4625:登录失败,是你的敌人(或你自己按错密码)留下的痕迹,想要查看谁在尝试破解密码,应筛选事件 ID
4625。
如果只是想快速查看谁在什么时候登录了这台电脑,最直接的 Windows 操作就是: 打开事件查看器 -> Windows 日志 -> 安全 -> 筛选事件 ID 4624 -> 查看“帐户名”和“登录类型”。
标签: Windows日志