windows凭据管理器不自动备份敏感凭据,需手动导出:1.用control keymgr.dll备份windows凭据为加密.crd文件,仅限同用户同设备还原;2.用powershell导出明文csv清单供核对;3.关闭浏览器后提取edge/chrome的login data数据库并解密。

当你在Windows中保存了大量网站登录密码、远程桌面凭据、网络共享账户等敏感信息后,一旦系统重装、硬盘损坏或误删凭据管理器条目,这些凭据将无法恢复——因为Windows默认不自动备份它们。必须手动导出并存档当前用户上下文下的加密凭据数据。
用Windows凭据管理器直接备份本地凭据
这一步仅适用于Windows凭据(如远程桌面、网络共享、SQL Server连接等),不包含Web凭据。备份文件为加密格式,只能由同一用户在同一台设备上还原。
1. 按 Win + R 打开运行框,输入 control keymgr.dll 回车,直接启动凭据管理器。
2. 点击左侧“Windows凭据”→右上角“备份凭据”按钮。
3. 选择一个非系统盘的外部位置(如U盘根目录或NAS映射路径),不要选C:\或%USERPROFILE%下任何子文件夹。
4. 按提示按下 Ctrl+Alt+Delete 进入安全桌面,输入当前账户密码两次完成加密归档。
生成的 .crd 文件不可编辑、不可跨账户还原,【必须保存在物理隔离的存储介质上】,否则系统崩溃时该文件也会丢失。
用PowerShell导出明文可读的凭据清单
此方法不导出原始加密密钥,而是调用DPAPI解密当前用户已缓存的凭据项,输出目标地址、用户名和明文密码——适合做人工核对与离线存档,但要求凭据必须是本机当前用户创建且未绑定Windows Hello生物识别。
方法一:快速查看所有已知凭据名称
以管理员身份运行 PowerShell,执行:
cmdkey /list
方法二:批量导出可解密的凭据(需提前安装PSLoggedOn模块)
执行:
Get-StoredCredential -AsCredentialObject | ForEach-Object { [PSCustomObject]@{Target=$_.Target; Username=$_.Username; Password=$_.Password} } | Export-Csv "$env:USERPROFILE\Desktop\Credentials_Backup.csv" -NoTypeInformation -Encoding UTF8
导出的CSV文件含明文密码,【务必立即加密压缩或移出电脑】,切勿留在桌面长期存放。
从Edge/Chrome本地数据库提取浏览器独立保存的密码
当密码由浏览器自行加密保存(未同步至Windows凭据管理器)时,必须关闭浏览器进程后直接读取其SQLite数据库,并用DPAPI解密。此操作只对当前登录用户有效,且Edge/Chrome必须已关闭全部实例(包括后台渲染进程)。
第一步:强制结束浏览器进程
按 Ctrl+Shift+Esc 打开任务管理器 → 在“进程”页签下结束所有名为 “msedge.exe” 或 “chrome.exe” 的条目,包括“后台进程”。
第二步:定位数据库文件
按 Win+R 输入以下任一路径后回车:
%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Login Data(Edge)
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Login Data(Chrome)
第三步:复制数据库到安全位置
将整个 Login Data 文件复制到U盘或NAS,重命名为 Login_Data_$(Get-Date -Format 'yyyyMMdd').db,避免覆盖。
第四步:准备解密环境
在另一台同账户Windows设备上,用Python脚本配合pywin32调用CryptUnprotectData API解密;或使用开源工具ChromePass(无需安装,绿色单文件)双击打开该Login Data文件直接显示明文密码。











