Windows本地账户由SAM文件管理,域账户由ntds.dit数据库管理;SAM位于C:\Windows\System32\config\SAM,依赖SYSTEM文件和SysKey加密;ntds.dit位于C:\Windows\NTDS\ntds.dit,采用ESE格式,支持多主复制与LDAP查询。

Windows 系统中的用户账户数据由多个关键组件协同管理,其中“dbs 账户数据库”并非标准 Windows 术语,实际指代的通常是域环境下的活动目录数据库(ntds.dit),而本地账户则完全依赖安全帐户管理器(SAM)文件。以下是关于这两类账户数据库的详细说明:
一、SAM 文件的定位与结构
SAM 是 Windows 本地用户账户的核心存储机制,其数据库以注册表形式存在,同时在磁盘上保留物理副本。该文件受内核级独占锁保护,运行时无法被直接读取或复制。
1、SAM 数据库的注册表路径为 HKEY_LOCAL_MACHINE\SAM\SAM,其中包含 Domains\Account\Users 和 Domains\Builtin 两个主要分支。
2、磁盘上的 SAM 文件位于 C:\Windows\System32\config\SAM,与 SYSTEM 文件配对使用,二者缺一不可。
3、每个用户条目下包含子项 F(登录状态记录)和 V(账户元数据),其中密码以 LM 哈希与 NTLM 哈希双格式存储,并经系统密钥(SysKey)加密。
二、域环境中的账户数据库 ntds.dit
当计算机加入域后,本地 SAM 不再承担域用户验证职责;所有域账户信息统一由域控制器(DC)中的活动目录数据库 ntds.dit 管理。该数据库采用 Extensible Storage Engine(ESE)格式,是 Windows Server 域服务的核心数据文件。
1、ntds.dit 默认存储于 C:\Windows\NTDS\ntds.dit,其结构包含用户、组、计算机、OU 等全部 AD 对象。
Windows 桌面自动化技能,支持鼠标控制(移动/点击/拖拽/滚轮/截图)、键盘输入(文字输入/按键/组合键)、窗口管理(查找/聚焦/最大化/最小化/关闭/移动)、截图并发送文件。提供两种截图方式:Python pyautogui 截图(集成在自动化流程中)和 PowerShell + .NET 零依赖截图(支持区域截图和多显示器)。当用户需要自动化 Windows 桌面操作、控制鼠标键盘、管理窗口、执行 GUI 自动化任务、截图发送文件时使用。
2、该数据库通过 LSASS.EXE 进程加载到内存中,验证请求由域控制器的 KDC(密钥分发中心)和 Netlogon 服务协同处理。
3、与 SAM 不同,ntds.dit 支持多主复制、对象级权限控制及 LDAP 查询接口,且不依赖 SysKey 加密,而是通过 Active Directory 数据库加密(EFS 或 BitLocker 卷加密)保障静态安全。
三、SAM 与 ntds.dit 的关键差异
二者在作用范围、存储机制与安全模型上存在本质区别:SAM 仅服务于单机本地账户,而 ntds.dit 是域范围内统一身份源;SAM 使用注册表格式并强制绑定 SYSTEM 配置单元,ntds.dit 则为独立 ESE 数据库文件;SAM 密码哈希默认可被离线提取(若无 SysKey 保护),ntds.dit 在未启用额外加密措施时同样面临 DIT 提取风险。
1、SAM 的访问依赖 lsass.exe 进程,该进程启动类型必须设为自动,否则系统无法完成用户登录认证流程。
2、ntds.dit 的完整性由 esentutl.exe /g 工具校验,而 SAM 文件无法通过常规命令行工具直接导出或解析。
3、本地管理员若尝试删除或替换 SAM 文件,将导致系统无法启动;而对 ntds.dit 的误操作仅影响域控制器功能,不影响成员机本地登录能力。

















