欢迎各位兄弟 发布技术文章
这里的技术是共享的
要查询曾经登录过本机的域账户(而不是所有域账户),你可以使用以下方法:
最可靠的方法是查看Windows安全事件日志:
cmdwevtutil qe Security /q:"*[System[(EventID=4624)]]" /f:text /rd:true /c:1000
这个命令会显示最近的登录事件(Event ID 4624是成功登录事件)
Windows会缓存曾登录过本机的域账户凭证,可以使用:
cmdreg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
这条命令会列出所有在本地创建过用户配置文件的账户(包括域账户)
cmddir "%SystemDrive%\Users" /A:D
此命令会列出所有用户配置文件目录,其中包含域账户的目录通常以"域名_用户名"格式命名
powershell# 查询本地用户配置文件中的域账户 Get-ChildItem "C:\Users" | Where-Object { $_.Name -like "*_*" } | Select-Object Name # 查询事件日志中的域登录记录 Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} -MaxEvents 50 | Where-Object { $_.Properties[6].Value -like "*\\*" } | Select-Object @{Name='User';Expression={$_.Properties[5].Value}}
这些方法都需要管理员权限
事件日志方法受限于日志保留策略,可能无法显示所有历史记录
用户配置文件方法只能显示在本地创建了配置文件的域账户
对于长时间未登录的账户,系统可能已自动清除其配置文件
dir "%SystemDrive%\Users" /A:D 详解
dir "%SystemDrive%\Users" /A:D 命令详解这个命令用于查看系统用户目录中的所有文件夹(即用户配置文件),特别适用于检查哪些域账户曾经在本机登录过。
dir:目录列表命令
"%SystemDrive%\Users":指向系统驱动器(通常是C:)的Users目录
%SystemDrive% 是系统环境变量,通常指向"C:"
"\Users"是Windows默认存储用户配置文件的目录
/A:D:显示属性为目录(Directory)的项目
典型输出可能如下所示:
驱动器 C 中的卷没有标签。
卷的序列号是 1234-5678
C:\Users 的目录
2023/01/15 10:12 <DIR> .
2023/01/15 10:12 <DIR> ..
2023/01/10 09:30 <DIR> Administrator
2023/02/20 14:25 <DIR> COMPANY_john.doe
2023/03/05 11:18 <DIR> Default
2023/03/12 16:42 <DIR> Public
2023/04/01 13:15 <DIR> COMPANY_smith.j
4 个文件 0 字节
7 个目录 123,456,789,012 可用字节
域账户的用户目录通常具有以下特征:
包含公司域名前缀,格式为:域名_用户名
例如:COMPANY_john.doe
或:DOMAIN\username格式在2016后版本可能显示为username.DOMAIN
与本地账户(如Administrator、Default、Public等)有区别
只显示域账户目录:
cmddir "%SystemDrive%\Users\DOMAIN_*" /A:D
替换DOMAIN为你的实际域名
结合findstr筛选结果:
cmddir "%SystemDrive%\Users" /A:D /B | findstr "_"
/B显示裸格式(仅名称),findstr "_"筛选包含下划线的名称(通常为域账户)
查看详细信息:
cmddir "%SystemDrive%\Users" /A:D /T:W
/T:W显示上次写入时间,有助于了解账户最后使用时间
需要管理员权限才能查看所有用户目录
部分系统账户(如Default、Public)也会显示,但不是用户账户
Windows 10/11中可能看到以.000、.001等数字后缀的账户,表示同一用户的多版本配置
删除的账户目录可能仍存在,但用户已无法登录
/A:D: 是什么简写
/A:D 参数详解/A:D 是 dir 命令中的一个属性筛选参数,用于控制显示的条目类型。
/A:表示"Attribute"(属性)
:D:表示"Directory"(目录)
/A:D 是一个组合参数,意思是:
只显示目录类型的项目(不显示文件)
/A: 后可以跟多个属性组合:
| 代码 | 含义 | 说明 |
|---|---|---|
| D | 目录(Directory) | 只显示文件夹 |
| R | 只读(Read-only) | 只显示只读属性的项目 |
| H | 隐藏(Hidden) | 只显示隐藏文件/文件夹 |
| A | 存档(Archive) | 只显示准备备份的项目 |
| S | 系统(System) | 只显示系统文件 |
| - | 前缀表示"非" | 如 -H 表示不显示隐藏项目 |
只显示目录:
cmddir /A:D
显示隐藏和系统目录:
cmddir /A:DH
显示所有非目录项目(只显示文件):
cmddir /A:-D
组合多个属性:
cmddir /A:HS # 只显示隐藏的系统文件
属性代码大小写不敏感(/A:D 和 /A:d 等效)
可以组合多个代码(如 /A:DHS 显示隐藏的系统目录)
如果不指定 /A 参数,默认显示除系统/隐藏项目外的所有文件和目录