cmdkey.exe(Windows Command-Line Credential Manager Tool)用于管理存储在凭据管理器(Credential Manager)中的凭据信息。用户在命令行中添加、删除、列出和显示存储的凭据,调用 Windows API 或使用 CredentialManager PowerShell 模块来管理 Windows 凭据。
cmdkey | Microsoft Learn cmdkey.exe
cmdkey.exe 完整英文全称、释义与配套链路
一、完整英文全称
1. 工具缩写拆分
cmdkey = Command Keycmd= Command(命令行)key= Key / Credential Key(凭据密钥、凭证)
2. Microsoft Learn 官方完整文件描述全称
Windows Command-Line Credential Manager Tool
C:\Windows\System32\cmdkey.exe底层 COM 接口标准名称
ICmdKeyManager(命令行凭据管理接口)二、核心定义与作用
- 工具定位:Windows 内置命令行凭据管理器,图形界面对应「凭据管理器(credmgr.msc)」,用于添加、删除、列举 Windows 凭据、域身份凭据、Web 站点持久凭证;
- 存储载体:凭据持久化存储在本地安全机构 LSA,域凭据同步写入
ntds.dit账户安全属性,身份绑定账户SID(Security Identifier); - 典型用途:保存 AD 域服务器、SMB 共享、http.sys 内网 Web 站点、TPM 虚拟智能卡(tpmvscmgr)访问凭证,配合
klist.exeKerberos 票据完成身份认证。
三、核心配套链路
- 安全身份层:基于账户 SID 校验凭据读写权限,本地 SAM / 域
ntds.dit存储身份主体; - Kerberos 协同:与
klist联动,存储长期服务票据凭证,自动刷新 TGT; - 网络层:Realtek 网卡承载 SMB/HTTP/TCP 流量,访问远端服务器时自动调取 cmdkey 存储的凭据;
- Web 服务层:http.sys 内核 HTTPS 站点访问自动读取持久 Web 凭据;
cmdkey.exe 完整拆解解构
一、基础定位
C:\Windows\System32\cmdkey.exe
control keymgr.dll,KRShowKeyMgr。- cmdkey 只是上层命令行外壳,不实现加密存储逻辑;底层完全依赖 Win32 CredMan API;
- 仅操作当前登录会话用户的凭据隔离空间;无法跨用户读写他人凭据;
- 只能管理「Windows 凭据 / Generic 通用凭据」;不管理 Web 凭据(Edge/IE 网页密码);Web 凭据由
vaultcmd.exe单独管理。
TERMSRV/前缀)、NAS、内网 Web、应用持久身份;企业运维脚本、MEM/ConfigMgr 终端自动化经常使用。二、分层整体架构
脚本/CMD/PowerShell → cmdkey.exe(控制台解析参数)
↓ 调用 Advapi32.dll Credential API
Windows Credential Manager 子系统
↓ DPAPI 加密封装凭据二进制Blob
↓ VaultSvc + LSA安全上下文校验
持久存储:用户目录加密凭据文件(.vcrd / Credentials目录加密blob)
重要:cmdkey不直接与 LSASS 进程 RPC 通信;Credential API 内部由系统负责安全上下文校验,凭据持久文件由 DPAPI 绑定当前用户 SID + 登录主密钥加密。
三、底层核心原理
3.1 程序执行流程
- cmdkey.exe 解析命令行参数:
/list /add /generic /delete; - 根据参数调用对应 Advapi32.dll Win32 Credential API:
/list→CredEnumerateW()/add /generic→CredWriteW()/delete→CredDeleteW()
- API 执行前强制校验调用进程安全令牌:凭据绑定当前登录用户上下文;
- 写入凭据时,明文密码交由系统内部通过 DPAPI 加密;cmdkey 本身不做加密运算;
- 枚举时只能读取目标名称、用户名;不会输出明文密码(安全设计,API 允许读取明文,但 cmdkey 代码刻意屏蔽打印密码)。
3.2 两种凭据类型(/add vs /generic)
- /add:TargetName → Windows 凭据(CRED_TYPE_DOMAIN_PASSWORD)
用于 SMB、服务器 NetBIOS/IP、NTLM 域资源;cmd
cmdkey /add:\\192.168.1.100 /user:admin /pass:P@ssw0rd - /generic:TargetName → 通用凭据(CRED_TYPE_GENERIC)
第三方应用、RDP 远程桌面强制使用(
TERMSRV/server)、自定义服务;cmdcmdkey /generic:TERMSRV/RDS01.corp.local /user:admin@corp.local /pass:P@ssw0rd
RDP 客户端只识别 Generic 类型 TERMSRV/ 前缀凭据;使用/add添加 RDP 凭据不会自动生效,是运维高频踩坑点。
3.3 DPAPI 加密持久化机制(核心安全底座)
- 明文账号密码 → Windows 系统内部组装 Credential 结构体;
- 调用 CryptProtectData(DPAPI) 使用当前用户登录主密钥加密密码 Blob;
- 加密后的二进制数据写入用户隔离目录;
- 用户注销 / 重启后,只有同一用户登录,DPAPI 才能解密;
无法直接复制凭据文件给其他用户使用;除非导出.crd 备份(图形界面 keymgr 支持,cmdkey 无导出能力)。
%LOCALAPPDATA%\Microsoft\Credentials\
%APPDATA%\Microsoft\Credentials\
%LOCALAPPDATA%\Microsoft\Vault\
3.4 权限与会话隔离规则
- 凭据绑定登录会话 LUID + 用户 SID
同一个账号不同终端会话凭据相互隔离;
- 普通用户只能读写自己的凭据;
- 本地 System 账户有独立凭据空间;交互式用户无法访问 System 凭据;
- Credential Guard 启用场景:DPAPI 主密钥被 VBS 虚拟化保护,攻击者无法直接导出内存密钥解密凭据。
3.5 常见误区澄清
lsass.exe + klist.exe 管理;凭据管理器保存持久账号密码,票据是临时会话凭证,二者完全独立。
net use * /delete。四、依赖文件、进程、注册表
4.1 核心二进制依赖
| 文件 | 路径 | 作用 |
|---|---|---|
| cmdkey.exe | System32 | 控制台入口,参数解析 |
| advapi32.dll | System32 | 提供 CredEnumerateW/CredWriteW/CredDeleteW 核心 API |
| crypt32.dll | System32 | DPAPI 加密基础库 |
| rpcrt4.dll | System32 | API 底层系统 RPC 支撑 |
| vaultcli.dll | System32 | Vault 存储底层支撑(新版 Windows) |
4.2 必需系统进程与服务
- VaultSvc(Windows 凭据服务)
服务名称:VaultSvc;缺失 / 停止 → Credential API 调用全部失败,cmdkey 报错。
lsass.exe:安全上下文、令牌校验、DPAPI 主密钥管理conhost.exe:cmdkey 作为控制台程序,运行时自动挂载控制台宿主
4.3 关键注册表
HKLM\SYSTEM\CurrentControlSet\Services\VaultSvc
HKLM\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
4.4 不依赖组件
五、完整逻辑链路(两条典型流程)
链路 1:cmdkey /list 枚举凭据
PowerShell/cmd 启动 cmdkey.exe
↓ cmdkey解析参数,加载advapi32.dll
调用 CredEnumerateW()
↓ 系统校验当前进程用户令牌
VaultSvc读取用户目录加密凭据文件
↓ DPAPI校验(枚举不需要解密密码,仅读取元数据)
凭据目标名称、用户名数据原路返回
cmdkey格式化文本输出;**屏蔽密码字段**
链路 2:cmdkey /generic 添加 RDP 凭据
cmdkey /generic:TERMSRV/RDS01 /user:admin /pass:xxx
↓ 组装CREDENTIAL结构体
调用 CredWriteW()
↓ Windows内部调用DPAPI加密密码Blob
VaultSvc写入加密文件到%LOCALAPPDATA%\Microsoft\Credentials
成功返回;RDP客户端mstsc后续连接主动读取该Generic凭据
六、配套联动技术栈(承接之前全套体系)
- PowerShell 管道
|运维批量清理凭据经典用法:
cmdkey /list | Select-String "TERMSRV" | ForEach-Object { ... }
-
mstsc.exe(远程桌面)mstsc 主动读取
TERMSRV/前缀 Generic 凭据,实现自动登录;企业运维最常用组合。 -
SMB 客户端(mrxsmb.sys)+ net use访问共享时自动读取
/add类型凭据;net use也可写入凭据,底层同样调用 CredMan API。 -
MEM / ConfigMgr(SCCM)脚本部署阶段批量预置服务器凭据;任务序列使用 cmdkey 预填充 RDP、文件服务器凭证。
-
klist.exe(Kerberos)cmdkey 存储静态账号密码;klist 管理临时会话票据;可配合使用:凭据保存账号,登录后自动申请 TGT 票据。
-
vaultcmd.execmdkey ↔ vaultcmd 分工:
- cmdkey:Windows 凭据、通用凭据;
- vaultcmd:Web 凭据、现代应用 Vault 凭据。
- DPAPI、Credential Guard
安全加固核心;开启 CG 后极大提升凭据导出难度,防护 DPAPI 离线提取攻击。
七、典型故障断链场景
-
cmdkey /list 返回空白,但图形凭据管理器存在记录原因:32 位程序与 64 位程序凭据空间隔离;32 位 cmdkey 读取不到 64 位进程创建的凭据。
-
添加 RDP 凭据无效,mstsc 不自动填充根因:误用
/add;RDP 必须使用/generic:TERMSRV/服务器。 -
报错 0x800706BA RPC 服务器不可用VaultSvc 服务未启动、崩溃;重启 VaultSvc。
-
脚本运行 cmdkey 添加凭据,交互式登录看不到两种可能:① 脚本运行账户与登录账户不一致;② 计划任务运行在不同登录会话,凭据写入隔离会话空间。
-
凭据反复丢失用户配置文件漫游损坏、Credential 目录文件损坏;可清空
%LOCALAPPDATA%\Microsoft\Credentials重建。
安全风险视角(红队 / 防御视角)
- cmdkey 只能枚举名称,不能直接读取明文密码;攻击者必须调用原生 CredRead API 或使用 mimikatz 通过 DPAPI 解密。
- 攻击者利用
cmdkey /list快速内网资产探测(枚举保存的服务器地址)。 - 若获取用户登录上下文,可通过 DPAPI 解密凭据文件,获取所有保存账号密码。
- 防御监控:审计 CredEnumerateW、CredWriteW API 调用;监控 cmdkey.exe 进程执行。
八、极简核心总结
- cmdkey.exe = Credential Manager 命令行前端,核心工作全部委托
advapi32.dllCredMan API; - 凭据分为
/add(域 / Windows 凭据)、/generic(通用凭据,RDP 必备)两类; - 密码由系统 DPAPI 加密持久化,绑定当前登录用户,cmdkey 本身不负责加密;
- 凭据按用户会话隔离,无法跨用户访问;Web 凭据不归 cmdkey 管理;
- 典型运维组合:配合 PowerShell 脚本、RDP、SMB、MEM 终端自动化;
- 安全边界:仅枚举元数据不输出明文;获取明文必须额外调用原生 API 解密。

control /name Microsoft.CredentialManager

control /name Microsoft.CredentialManager 完整拆解解构
一、基础定位
control.exe /name Microsoft.CredentialManager
- 作用:启动控制面板宿主,加载凭据管理器可视化 UI;
- 等价对照:
control /name Microsoft.CredentialManager(标准规范名称写法,Win7~Win11 通用)control keymgr.dll(传统兼容入口,加载 keymgr.dll 旧版界面)
核心区分:二者前端 UI 入口不同,但底层共享同一套 CredMan API、Vault 存储、DPAPI 加密体系;和前文cmdkey.exe共用凭据底层存储。凭据管理器 UI 仅负责可视化浏览、增删凭据;不实现加密、持久存储逻辑。
Microsoft.CredentialManager
{1206F5F1-0569-412C-8FEC-3204630DFB70}
Vault.dll二、分层整体架构
PowerShell/运行窗口/CMD → control.exe(控制面板宿主进程)
↓ 读取注册表匹配 CanonicalName
加载 Vault.dll(凭据管理器UI核心模块)
↓ 调用 advapi32.dll Credential API
↕ RPC/ALPC 通信
VaultSvc(svchost承载,凭据存储服务)
↓ DPAPI 加密/解密(依赖lsass主密钥)
持久存储:用户隔离加密凭据文件
三、底层原理
3.1 control.exe 启动解析流程
control.exe接收参数/name Microsoft.CredentialManager;- 查询注册表路径
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Namespace\{1206F5F1-0569-412C-8FEC-3204630DFB70}匹配到模块Vault.dll; - control.exe 进程内加载
Vault.dll,渲染凭据管理器窗口; - UI 初始化时调用
CredEnumerateW()枚举当前登录用户全部凭据。
3.2 UI 与底层凭据子系统交互模型
- 读取凭据
UI → Advapi32 CredEnumerateW → VaultSvc 读取用户目录加密 blob → DPAPI 解密元数据(密码默认不直接返回上层 UI,查看密码需要单独触发解密)
- 新增 / 修改凭据
UI 表单录入账号密码 → 调用
CredWriteW()→ 系统内部 DPAPI 加密明文密码 → VaultSvc 写入加密文件 - 删除凭据
UI 触发删除 →
CredDeleteW()→ VaultSvc 移除对应加密凭据条目
3.3 凭据两大分类(UI 界面展示划分)
- Windows 凭据(cmdkey.exe 管理范围)
- 域凭据(CRED_TYPE_DOMAIN_PASSWORD):SMB 共享、NAS、服务器 NetBIOS
- 通用凭据(CRED_TYPE_GENERIC):RDP
TERMSRV/、第三方应用凭证
- Web 凭据
- 由
vaultcmd.exe管理,cmdkey 无法读写 Web 凭据;Edge、IE 浏览器网页密码存放于此,底层独立 Vault 容器。
- 由
3.4 安全隔离核心规则
- 凭据严格绑定当前登录用户 SID + 登录会话;不同用户、不同会话凭据隔离;
- DPAPI 加密密钥由
lsass.exe维护;凭据文件复制到其他账户 / 其他电脑无法解密; - Credential Guard 开启后,DPAPI 密钥隔离在 VTL1,防止内存导出攻击;
- 普通用户仅能访问自身凭据;系统账户拥有独立凭据隔离空间。
3.5 关键误区澄清
control.exe不存储任何凭据,只是 UI 容器;
Vault.dll只是界面层,不实现加密;加密逻辑全部由系统 DPAPI、VaultSvc 承载;
control /name Microsoft.CredentialManager ≠ keymgr.dllVault.dll:新版标准凭据管理器(包含 Web 凭据 + Windows 凭据双栏界面)keymgr.dll:旧版简化界面,仅展示 Windows 凭据,无 Web 凭据
四、依赖文件、进程、注册表
4.1 用户态核心文件
| 文件 | 路径 | 功能 |
|---|---|---|
| control.exe | System32 | 控制面板宿主,解析/name参数 |
| Vault.dll | System32 | 凭据管理器 UI 主模块 |
| advapi32.dll | System32 | Credential 核心 API(CredEnumerate/CredWrite/CredDelete) |
| crypt32.dll | System32 | DPAPI 加密支撑库 |
| vaultcli.dll | System32 | Vault 底层存储接口 |
4.2 必需系统进程 & 服务
- VaultSvc(Windows 凭据服务)
服务名:VaultSvc;依赖 RPCSS;服务停止 → 凭据管理器打开空白 / 报错 0x800706BA;承载进程:
svchost.exe -k Vault lsass.exe:维护用户 DPAPI 主密钥、安全令牌校验conhost.exe(可选):CMD/PowerShell 启动 control.exe 时控制台宿主
4.3 关键注册表
# Microsoft.CredentialManager 控制面板项注册
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Namespace\{1206F5F1-0569-412C-8FEC-3204630DFB70}
# VaultSvc服务配置
HKLM\SYSTEM\CurrentControlSet\Services\VaultSvc
# 凭据委派安全策略
HKLM\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
4.4 持久存储路径(加密文件)
%LOCALAPPDATA%\Microsoft\Credentials\
%APPDATA%\Microsoft\Credentials\
%LOCALAPPDATA%\Microsoft\Vault\
4.5 不依赖组件
五、完整逻辑链路(两条典型流程)
链路 1:执行命令打开凭据管理器
CMD/PowerShell 运行 control.exe /name Microsoft.CredentialManager
↓ control.exe解析参数,查询注册表CanonicalName映射
进程内加载Vault.dll,初始化图形窗口
↓ UI调用Advapi32 CredEnumerateW()
ALPC RPC通信至VaultSvc服务
↓ VaultSvc读取用户目录加密凭据文件
DPAPI解密凭据元数据(不主动解密密码)
结构化凭据列表返回UI渲染展示
链路 2:UI 界面删除一条 RDP 通用凭据
凭据管理器选中 TERMSRV/RDS01 条目 → 点击删除
↓ UI调用 CredDeleteW(TargetName)
↓ VaultSvc删除对应加密凭据文件
操作完成,刷新凭据列表
底层存储同步更新;cmdkey /list 同步看不到该凭据
六、配套联动技术栈(承接整套体系)
- cmdkey.exe
同一底层 CredMan 存储;
- cmdkey:命令行无界面管理 Windows / 通用凭据;
- control /name Microsoft.CredentialManager:图形可视化管理;二者操作结果双向实时同步。
- PowerShell 管道 |
脚本组合:启动图形界面、配合 cmdkey 批量清理凭据,图形界面用于人工核查结果。
# 启动凭据管理器
Start-Process control.exe -ArgumentList '/name Microsoft.CredentialManager'
-
mstsc.exe(远程桌面)mstsc 读取
TERMSRV/前缀通用凭据;UI 界面添加的 RDP 凭据可直接被 mstsc 自动登录识别。 -
net use / SMB 客户端访问文件服务器自动读取凭据管理器内域凭据;UI 添加 SMB 凭据生效。
-
vaultcmd.exe互补分工:vaultcmd 管理 Web 凭据;凭据管理器 UI 同时展示两类凭据;cmdkey 无法操作 Web 凭据。
-
MEM / ConfigMgr(SCCM)运维场景:任务序列脚本使用 cmdkey 预置凭据,通过
control /name Microsoft.CredentialManager人工验证凭据是否部署成功。 -
DPAPI / Credential Guard安全底座;控制凭据加密强度,防范凭据离线导出。
七、典型故障断链场景
-
执行命令打开空白窗口、加载失败,报错 RPC 服务器不可用 0x800706BA根因:VaultSvc 服务未启动 / 崩溃;修复:
net start VaultSvc -
cmdkey 添加凭据成功,凭据管理器看不到(反之亦然)32 位 / 64 位进程凭据空间隔离;SysWOW64 下程序操作凭据和 System32 互相不可见。
-
凭据列表可以展示,查看密码时报解密失败当前登录会话上下文失效;用户配置文件损坏、DPAPI 密钥异常。
-
缺少 Web 凭据一栏使用了
control keymgr.dll旧版入口;改用control /name Microsoft.CredentialManager标准命令。 -
凭据反复丢失用户漫游配置文件损坏;Credentials 目录缓存文件损坏。
安全风险视角
- 拥有交互式登录权限的用户,可打开凭据管理器查看所有已保存服务器地址,用于内网资产探测;
- 获取完整登录上下文后,可通过 DPAPI 解密提取全部明文账号密码;
- 加固建议:限制高权限终端交互式登录,启用 Credential Guard,监控
Vault.dll加载、CredAPI 调用行为。
八、极简核心总结
control /name Microsoft.CredentialManager= control.exe 通过控制面板规范名称加载Vault.dll,启动标准凭据管理器图形界面;- UI 层仅做可视化展示,所有凭据读写全部调用
advapi32.dllCredMan API,底层依赖 VaultSvc 服务 + DPAPI 加密; - 和
cmdkey.exe共享同一凭据存储,操作双向同步;区分:Web 凭据仅新版 UI 可见,cmdkey 无法管理; - 与
control keymgr.dll区别:keymgr.dll 为旧版简化界面,缺失 Web 凭据分类; - 凭据按登录用户隔离,加密绑定用户 SID;无跨用户访问能力;
- 运维场景:人工核查凭据首选图形界面,自动化批量操作使用 cmdkey/PowerShell API。

PS C:\Users\Administrator> cmdkey /?
创建,显示和删除保存的用户名和密码。
此命令的语法为:
CMDKEY [{/add | /generic}:targetname {/smartcard | /user:username {/pass{:password}}} | /delete{:targetname | /ras} | /list{:targetname}]
示例:
要列出可用的凭据:
cmdkey /list
cmdkey /list:targetname
要创建域凭据:
cmdkey /add:targetname /user:username /pass:password
cmdkey /add:targetname /user:username /pass
cmdkey /add:targetname /user:username
cmdkey /add:targetname /smartcard
要创建普通凭据:
/add 开关可以由 /generic 替代,来创建普通凭据
要删除现有凭据:
cmdkey /delete:targetname
要删除 RAS 凭据:
cmdkey /delete /ras
cmdkey.exe 参数完整汇总表
| 命令 | 子参数 | 描述 | 应用场景 | 使用实例 |
|---|---|---|---|---|
| cmdkey | /list |
枚举当前用户所有持久凭据(仅展示目标名称、用户名,不显示明文密码) | 资产清点、排查自动登录凭据、脚本筛选 RDP/SMB 已保存凭证 | cmdkey /list |
| cmdkey | /list:targetname |
根据目标名称精确匹配,只列出指定 Target 凭据 | 校验特定服务器凭据是否存在 | cmdkey /list:TERMSRV/RDS01 |
| cmdkey | /add:targetname |
创建Windows 域凭据(CRED_TYPE_DOMAIN_PASSWORD),适用于 SMB、NTLM 服务器、文件共享 | 访问 NAS、文件服务器、内网 SMB 共享自动认证 | cmdkey /add:\\192.168.1.50 /user:admin /pass:P@ss123 |
| cmdkey | /add:targetname /user:username /pass:password |
添加域凭据,命令行直接附带明文密码 | 自动化脚本批量预置 SMB 服务器凭证 | cmdkey /add:\\FS01 /user:corp\fileadmin /pass:File@2026 |
| cmdkey | /add:targetname /user:username /pass |
添加域凭据,执行后交互式弹窗输入密码(不在命令行暴露明文) | 交互式运维,避免密码明文写入日志 | cmdkey /add:\\FS01 /user:corp\fileadmin /pass |
| cmdkey | /add:targetname /user:username |
添加域凭据,不指定 /pass,运行时交互式输入密码 | 临时手动添加 SMB 凭据 | cmdkey /add:\\FS01 /user:corp\fileadmin |
| cmdkey | /add:targetname /smartcard |
创建绑定智能卡的域凭据,用于智能卡登录资源 | 企业智能卡认证终端访问内网服务器 | cmdkey /add:\\DC01 /smartcard |
| cmdkey | /generic:targetname |
创建通用凭据(CRED_TYPE_GENERIC);RDP、第三方应用必须使用该类型,不能用 /add | RDP 远程桌面自动登录、自定义应用持久凭证 | cmdkey /generic:TERMSRV/RDS01.corp.local /user:admin@corp.local /pass:Rdp@2026 |
| cmdkey | /delete:targetname |
根据目标名称删除指定凭据 | 凭据过期清理、更换账号后清除旧凭证 | cmdkey /delete:TERMSRV/RDS01.corp.local |
| cmdkey | /delete /ras |
删除所有 RAS 拨号凭据(VPN 宽带拨号保存账号) | 清理 VPN 拨号缓存凭证、轮换 VPN 账号 | cmdkey /delete /ras |
重要补充说明
- RDP 硬性规则
mstsc 只识别
/generic:前缀TERMSRV/xxx通用凭据;使用/add创建的凭据无法被远程桌面客户端读取。 - 安全提示
命令行携带
/pass:明文会被进程日志、命令历史捕获;生产脚本优先使用不带明文的交互式/pass。 - 隔离提醒
32 位 cmdkey 与 64 位 cmdkey 凭据空间隔离;在 SysWOW64 下执行会看不到 64 位程序创建的凭据。
- 类型区分速记
/add→ Windows 域凭据:SMB、文件共享、服务器 NetBIOS/generic→ 通用凭据:RDP、自定义程序、Web 服务非浏览器凭证
在 PowerShell 中,cmdkey 命令的等效命令是 New-PSDrive 或 Get-Credential,取决于你想要执行的操作。具体来说:
1. 使用 New-PSDrive 创建临时的网络驱动器映射:
如果你用 cmdkey 添加凭据并挂载网络驱动器,可以在 PowerShell 中使用 New-PSDrive 来实现:
New-PSDrive -Name "DriveName" -PSProvider FileSystem -Root "\\Server\Share" -Persist -Credential (Get-Credential)
这会提示输入凭据并将网络驱动器映射到本地文件系统。
2. 使用 Get-Credential 设置和存储凭据:
如果你希望直接存储凭据,可以使用 Get-Credential 获取凭据对象。然后,可以将凭据存储到 Windows 凭据管理器中(类似于 cmdkey 的用途):
$credential = Get-Credential
接下来,你可以将凭据传递给其他 cmdlet,或者将其存储到某些应用中。
3. 手动添加凭据到凭据管理器:
虽然 PowerShell 本身没有直接的 cmdkey 等效命令,但你可以通过调用 Windows API 或使用 CredentialManager PowerShell 模块来管理 Windows 凭据。
例如,使用 CredentialManager 模块:
Install-Module -Name CredentialManager -Force
Add-StoredCredential -Target "TargetName" -UserName "User" -Password "Password"
这相当于通过 cmdkey 命令添加凭据。
在 PowerShell 中,虽然没有直接与 cmdkey 命令完全匹配的命令,但可以使用 CredentialManager 模块和一些 PowerShell 内置命令来实现类似功能。以下是一些常见的用法及其等效的 PowerShell 命令:
1. 列出可用凭据 (cmdkey /list 或 cmdkey /list:targetname)
在 PowerShell 中,你可以使用 Get-StoredCredential 来列出已存储的凭据。首先,确保安装 CredentialManager 模块:
Install-Module -Name CredentialManager -Force
然后,可以使用 Get-StoredCredential 来列出所有凭据:
Get-StoredCredential
要列出特定目标的凭据,可以提供目标名称:
Get-StoredCredential -Target "targetname"
2. 创建域凭据 (cmdkey /add:targetname /user:username /pass:password)
在 PowerShell 中,使用 Add-StoredCredential 来添加凭据。以下是创建域凭据的示例:
Add-StoredCredential -Target "targetname" -UserName "username" -Password "password" -Persist
如果需要交互式输入密码,您可以使用:
$credential = Get-Credential
Add-StoredCredential -Target "targetname" -UserName $credential.UserName -Password $credential.GetNetworkCredential().Password -Persist
3. 创建普通凭据 (cmdkey /add:targetname /generic)
要创建普通凭据(即非域凭据),可以使用以下 PowerShell 命令:
Add-StoredCredential -Target "targetname" -UserName "username" -Password "password" -Persist -Type Generic
4. 删除现有凭据 (cmdkey /delete:targetname)
要删除存储的凭据,使用 Remove-StoredCredential:
Remove-StoredCredential -Target "targetname"
5. 删除 RAS 凭据 (cmdkey /delete /ras)
PowerShell 没有单独的 RAS 凭据删除功能,但你可以删除所有凭据,包括 RAS 凭据。你可以通过列出并删除所有凭据来实现:
Get-StoredCredential | Where-Object { $_.Target -like "ras*" } | Remove-StoredCredential
6. 删除所有凭据
如果你想要删除所有凭据,可以使用以下命令:
Get-StoredCredential | Remove-StoredCredential
- 列出凭据:
Get-StoredCredential - 创建凭据(域/普通):
Add-StoredCredential - 删除凭据:
Remove-StoredCredential - 删除 RAS 凭据:
Remove-StoredCredential(结合Where-Object筛选 RAS)
这些 PowerShell 命令大致可以替代 cmdkey 的功能,但需要使用第三方 CredentialManager 模块来操作存储的凭据。
cmdkey 命令在 PowerShell 中的使用方法:
| 操作 | 命令语法 | PowerShell命令示例 | 描述 |
|---|---|---|---|
| 列出所有凭据 | cmdkey /list |
cmdkey /list |
列出当前存储的所有凭据。这将显示所有存储的凭据,包括用于网络驱动器、远程桌面等服务的凭据。 |
| 列出指定目标凭据 | cmdkey /list:targetname |
cmdkey /list:targetname |
列出特定目标的凭据。在此命令中替换 targetname 为实际的目标名称(例如服务器、共享等),查看该目标的凭据。 |
| 创建域凭据(包含密码) | cmdkey /add:targetname /user:username /pass:password |
cmdkey /add:targetname /user:admin /pass:password123 |
为指定目标创建凭据。在此命令中,替换 targetname 为目标名称,username 为用户名,password 为密码。创建域凭据用于自动身份验证。 |
| 创建域凭据(不含密码) | cmdkey /add:targetname /user:username /pass |
cmdkey /add:targetname /user:admin /pass |
为指定目标创建凭据。此命令允许在不输入密码的情况下创建凭据,系统会提示用户在需要时输入密码。 |
| 创建域凭据(仅用户名) | cmdkey /add:targetname /user:username |
cmdkey /add:targetname /user:admin |
为指定目标创建凭据。此命令仅提供用户名,密码将在需要时手动输入。适用于需要用户确认密码的场景。 |
| 使用智能卡创建凭据 | cmdkey /add:targetname /smartcard |
cmdkey /add:targetname /smartcard |
使用智能卡进行身份验证。此命令适用于需要通过智能卡进行身份验证的高安全性环境。 |
| 创建通用凭据 | cmdkey /generic:targetname /user:username /pass:password |
cmdkey /generic:targetname /user:admin /pass:password123 |
创建通用凭据。该命令适用于为多个应用或服务创建凭据,通常在需要跨多个资源(如FTP、共享等)访问时使用。 |
| 删除凭据 | cmdkey /delete:targetname |
cmdkey /delete:targetname |
删除指定目标的凭据。使用此命令清理不再使用的或过时的凭据,以确保凭据存储的安全性和整洁。 |
| 删除RAS凭据 | cmdkey /delete /ras |
cmdkey /delete /ras |
删除远程访问服务(RAS)凭据。删除为VPN或远程桌面等远程连接创建的凭据。 |
| 列出指定目标凭据(重复) | cmdkey /list:targetname |
cmdkey /list:targetname |
与 "列出指定目标凭据" 相同,重复的命令列出指定目标的凭据信息。 |
PowerShell命令的说明:
cmdkey是一个Windows命令行工具,PowerShell同样支持调用它,因此可以直接在PowerShell脚本或命令行中使用这些命令。- 通过这些命令,可以管理系统的凭据存储,简化访问远程资源、网络共享、域资源的过程,特别适用于自动化和批处理任务。
你可以在PowerShell窗口中运行这些命令来管理凭据。如果要编写自动化脚本,可以将这些命令结合到PowerShell脚本中执行。
cmdkey 命令的分类表格,包含了详细的示例和对应的应用场景:
| 功能 | 命令语法 | 示例 | 应用场景 |
|---|---|---|---|
| 列出所有凭据 | cmdkey /list |
cmdkey /list |
列出系统中所有存储的凭据。用于查看当前计算机中存储的用户名和密码,方便检查是否有多余的凭据。 |
| 列出指定目标凭据 | cmdkey /list:targetname |
cmdkey /list:targetname |
查看指定目标的凭据信息。在进行故障排查或验证凭据时,查看特定目标的凭据信息。 |
| 创建域凭据 | cmdkey /add:targetname /user:username /pass:password |
cmdkey /add:targetname /user:admin /pass:password123 |
用于自动化登录域控制器、文件共享等。例如:在Windows环境中,通过域凭据访问网络驱动器。 |
cmdkey /add:targetname /user:username /pass |
cmdkey /add:targetname /user:admin /pass |
需要时自动填充密码。仅指定用户名,之后手动输入密码。适合手动验证密码输入的场景。 | |
cmdkey /add:targetname /user:username |
cmdkey /add:targetname /user:admin |
创建默认域凭据。不指定密码,适用于从外部验证时临时使用或与其他验证方式结合使用。 | |
cmdkey /add:targetname /smartcard |
cmdkey /add:targetname /smartcard |
使用智能卡进行身份验证。适合高安全性的环境,比如企业网络,智能卡用于访问机密数据或网络。 | |
| 创建通用凭据 | cmdkey /generic:targetname /user:username /pass:password |
cmdkey /generic:targetname /user:admin /pass:password123 |
创建通用凭据。适用于需要访问多个应用程序或服务时,统一管理凭据,简化登录操作。 |
| 删除凭据 | cmdkey /delete:targetname |
cmdkey /delete:targetname |
删除不再使用的凭据。清理无用的凭据,尤其是访问过时的服务器、应用或服务时。 |
| 删除RAS凭据 | cmdkey /delete /ras |
cmdkey /delete /ras |
删除远程访问服务(RAS)凭据。适用于清理曾用于VPN或远程桌面连接的凭据。 |
| 列出并删除特定目标凭据 | cmdkey /list:targetname 与 cmdkey /delete:targetname |
cmdkey /list:targetname<br>cmdkey /delete:targetname |
查看并删除不再需要的特定凭据。用于故障排查和删除过时的登录信息,确保系统中没有多余的凭据存储。 |
各命令的应用场景说明:
-
列出凭据:
- /list:用于管理凭据时查看当前存储的所有凭据。适合管理员定期检查哪些凭据存储在系统中。
- /list:targetname:当多个凭据存储在系统中时,通过列出指定目标的凭据来快速验证或修改某个特定服务的凭据。
-
创建域凭据:
- /add:常用于在系统中自动添加用于访问企业或公司域控制器的凭据。通过
cmdkey命令可以避免每次访问时手动输入用户名和密码,尤其在设置自动登录或脚本执行时非常有用。 - /smartcard:在高安全性要求的环境下使用,适合带有智能卡身份验证的系统。用于更安全的登录方式,通常在金融或政府机关中使用。
- /user 和 /pass:可适用于网络共享、域认证、服务器登录等自动化环境。也可根据需要只输入用户名或密码。
- /add:常用于在系统中自动添加用于访问企业或公司域控制器的凭据。通过
-
创建通用凭据:
- /generic:适用于为多个不同应用(如企业内部Web应用、数据库、FTP服务器等)设置统一的凭据,减少记住多个密码的麻烦,常见于集中的认证管理系统。
-
删除凭据:
- /delete:清理不再使用的凭据,保证系统中仅存有必要的凭据信息,尤其是当系统或服务过时或已更换时。删除旧凭据能避免潜在的安全风险。
- /delete /ras:专门用于删除远程访问服务(RAS)凭据,常见于 VPN、远程桌面、远程连接等场景。删除不再使用的远程访问凭据,可以降低安全风险。
cmdkey 命令适用于凭据的管理,特别是在自动化任务、远程连接、域认证和系统维护中。通过合理的使用,可以简化登录操作,提高工作效率,同时确保系统凭据的安全性。
cmdkey 命令的用法整理为分类表格的形式,包含了不同功能的命令示例:
| 功能 | 命令语法 | 示例 |
|---|---|---|
| 列出凭据 | cmdkey /list 或 cmdkey /list:targetname |
列出所有可用的凭据: cmdkey /list 列出指定目标的凭据: cmdkey /list:targetname |
| 创建域凭据 | cmdkey /add:targetname /user:username /pass:password |
创建带用户名和密码的域凭据: cmdkey /add:targetname /user:username /pass:password |
cmdkey /add:targetname /user:username /pass |
创建带用户名的域凭据,密码为空: cmdkey /add:targetname /user:username /pass |
|
cmdkey /add:targetname /user:username |
创建仅带用户名的域凭据: cmdkey /add:targetname /user:username |
|
cmdkey /add:targetname /smartcard |
使用智能卡创建域凭据: cmdkey /add:targetname /smartcard |
|
| 创建通用凭据 | cmdkey /generic:targetname /user:username /pass:password |
创建通用凭据: cmdkey /generic:targetname /user:username /pass:password |
| 删除凭据 | cmdkey /delete:targetname |
删除指定目标的凭据: cmdkey /delete:targetname |
| 删除RAS凭据 | cmdkey /delete /ras |
删除RAS凭据: cmdkey /delete /ras |
| 列出指定目标凭据 | cmdkey /list:targetname |
列出指定目标的凭据: cmdkey /list:targetname |
各命令说明:
- /list:列出所有存储的凭据,或者列出特定目标的凭据。
- /add:添加新的凭据。可以为域凭据或通用凭据。
- /generic:创建通用凭据,而非域凭据。
- /smartcard:使用智能卡进行身份验证。
- /delete:删除已存储的凭据。可以删除指定的目标凭据,或者删除RAS凭据。
cmdkey /?
创建、显示和删除存储的用户名和密码。
此命令的语法如下:
CMDKEY [{/add | /generic}:targetname {/smartcard | /user:username {/pass{:password}}} | /delete{:targetname | /ras} | /list{:targetname}]
示例:
-
列出可用的凭据:
Copy Codecmdkey /list cmdkey /list:targetname -
创建域凭据:
Copy Codecmdkey /add:targetname /user:username /pass:password cmdkey /add:targetname /user:username /pass cmdkey /add:targetname /user:username cmdkey /add:targetname /smartcard -
创建通用凭据: 使用
/add开关可以替换为/generic来创建通用凭据。 -
删除现有凭据:
Copy Codecmdkey /delete:targetname -
删除RAS凭据:
Copy Code
凭证管理器:Web凭证与Windows凭证的详细说明Windows凭证管理器是Windows操作系统中的一个功能,它帮助用户安全地存储和管理各种凭证(如用户名和密码),这些凭证用于网络访问、共享文件、网站登录等。凭证管理器分为两个主要类别:Web凭证和Windows凭证。以下是这两者的详细对比:
详细说明1. Web凭证
2. Windows凭证
如何查看和管理这些凭证1. 查看Web凭证
2. 查看Windows凭证
通过合理管理 Web凭证和 Windows凭证,用户可以提高工作效率并加强系统的安全性,避免频繁输入用户名和密码。 |
|
提供的步骤详细说明了如何通过不同的方式访问和启动 Windows 的 凭据管理器(Credential Manager)。以下是每种方法的概述和步骤: 1. 通过运行命令框启动
2. 通过文件资源管理器启动
3. 通过命令提示符启动
4. 通过桌面快捷方式启动
5. 通过 PowerShell 启动
6. 通过批处理文件启动
以上方法提供了不同的方式来快速访问 凭据管理器,您可以根据个人习惯选择最方便的方式。 |
凭证管理器 (Credential Manager) 安全性分析凭证管理器 是 Windows 操作系统中的一个工具,用于存储和管理用户的用户名、密码、证书和其他凭证,方便用户在不同应用程序和服务中自动登录。凭证管理器可以存储的凭证类型包括:
1. 凭证管理器的工作原理凭证管理器提供了一个图形界面,让用户轻松查看、添加、删除或编辑凭证。在后台,这些凭证会被加密并存储在 Windows 的凭证存储区(Credential Store)中。存储的凭证信息通常被加密存储,只有 Windows 操作系统可以访问。 加密方式: 凭证管理器的存储是基于 Windows 数据保护 API (DPAPI),它可以确保存储的凭证在本地计算机上加密,只有特定的用户(当前登录用户)可以访问这些凭证。 2. 凭证管理器的安全性分析优点:
缺点:
3. 凭证管理器的密码强度和安全性分析密码强度凭证管理器存储的密码强度主要取决于以下几个方面:
密码强度建议:
多因素认证 (MFA) 的引入:
4. 如何增强凭证管理器的安全性
凭证管理器是一个便捷的工具,用于存储和管理多个服务的登录凭证,但它的安全性依赖于操作系统的整体安全性以及用户的密码管理策略。通过使用强密码、启用多因素认证和生物识别技术等方式,可以进一步增强凭证管理器的安全性。如果使用得当,凭证管理器是一个相对安全且高效的工具,有助于用户在各种服务中进行安全的身份验证。 |
cmdkey.exe 是 Windows 操作系统中的一个命令行工具,用于管理存储在凭据管理器(Credential Manager)中的凭据信息。它允许用户在命令行中添加、删除、列出和显示存储的凭据,通常用于简化对网络资源、服务器或其他系统的身份验证过程。
具体来说,cmdkey.exe 主要用于以下几个功能:
-
添加凭据:将用户名和密码或其他凭据信息添加到凭据管理器中,以便后续无需手动输入即可登录到特定资源。
-
删除凭据:从凭据管理器中移除不再需要的凭据信息,以确保安全性和管理的简洁性。
-
列出凭据:显示当前存储在凭据管理器中的所有凭据信息,包括每个凭据的目标名称和类型。
-
显示凭据:显示特定目标的详细凭据信息,如用户名和密码。
这些功能使得 cmdkey.exe 成为管理员或系统集成自动化脚本中常用的工具,特别是在需要大规模管理凭据或自动化登录过程的情况下。
cmdkey.exe 起源于微软的 Windows 操作系统。它是为了简化和改进在 Windows 平台上管理用户凭据(Credentials)的过程而开发的命令行工具。凭据管理在计算机网络中是一个关键的部分,特别是当用户需要访问多个网络资源或服务时。在早期的 Windows 版本中,管理凭据通常需要手动输入用户名和密码,或者使用存储在文本文件或其他不安全位置的凭据信息。
为了提供更安全和更高效的凭据管理解决方案,微软引入了凭据管理器(Credential Manager)和相关的命令行工具 cmdkey.exe。这使得用户和管理员可以轻松地在命令行或脚本中管理凭据,而无需依赖于手动输入或不安全的凭据存储方式。
随着 Windows 版本的更新和安全性需求的提高,cmdkey.exe 和凭据管理器持续得到改进和优化,以满足不断变化的 IT 管理和安全需求。
cmdkey.exe 是微软为了简化和增强 Windows 操作系统中的凭据管理而开发的命令行工具,它的目的是提高安全性、便利性和管理效率。
cmdkey.exe 是Windows操作系统中的一个命令行实用程序,用于管理凭据(credentials)。凭据可以是用户名和密码的组合,用于身份验证到不同的资源,例如网络共享、Web应用程序或其他网络服务。以下是 cmdkey.exe 的主要发展阶段和功能更新:
发展阶段
-
初期版本:
- 最早版本的
cmdkey.exe主要支持基本的凭据管理功能,如添加、删除和列出凭据。
- 最早版本的
-
Windows XP 和 Server 2003:
- 引入了对域凭据的支持,允许管理与Windows域相关的凭据。
- 提升了对安全性和权限管理的支持。
-
Windows Vista 和 Server 2008:
- 增强了对智能卡凭据的管理能力。
- 引入了更多的命令选项和参数,提升了灵活性和控制能力。
-
Windows 7 和 Server 2008 R2:
- 改进了对Windows凭据管理器的集成和支持。
- 引入了更多的安全特性,如安全传输协议和加密存储。
-
Windows 8 和 Server 2012:
- 提升了与其他Windows安全工具和服务的集成,如Active Directory和Group Policy。
- 改进了用户界面和交互性,使得管理更加直观和易用。
-
Windows 10 和 Server 2016:
- 进一步改进了安全性和凭据管理的性能。
- 引入了更多面向企业和云服务的功能,如Azure凭据集成。
-
最新版本:
- 持续更新和改进,以适应现代化的安全需求和网络环境。
- 支持更复杂的身份验证场景和集成需求。
总结
cmdkey.exe 作为Windows操作系统的一部分,随着每个主要版本的发布而持续演变和改进。它的发展主要集中在增强凭据管理的功能、安全性和易用性,以应对不断变化的网络安全挑战和技术环境。
cmdkey.exe 主要用于管理 Windows 系统中的凭据信息,其功能可以大致分为以下几类:
-
添加凭据:
- 使用
cmdkey /add命令可以将凭据信息添加到凭据管理器中,以便后续访问特定的网络资源或服务时自动提供身份验证信息。
- 使用
-
删除凭据:
- 使用
cmdkey /delete命令可以从凭据管理器中删除不再需要的凭据信息,确保管理的安全性和简洁性。
- 使用
-
列出凭据:
- 使用
cmdkey /list命令可以列出当前存储在凭据管理器中的所有凭据信息,包括每个凭据的目标名称和类型。
- 使用
-
显示凭据:
- 使用
cmdkey /target命令可以显示特定目标的详细凭据信息,如用户名和密码。
- 使用
-
更新凭据:
- 虽然
cmdkey.exe主要用于添加和删除凭据,但它也可以通过重新添加具有相同目标的凭据来更新已存在的凭据信息。
- 虽然
-
帮助和支持:
cmdkey.exe还支持帮助命令,可以使用cmdkey /?或cmdkey /h查看命令的帮助文档,了解每个命令的使用方式和参数选项。
这些功能使得 cmdkey.exe 成为管理员在管理 Windows 系统中的网络凭据时一个有力的工具,特别是在需要自动化和批量管理凭据信息时尤为重要。
cmdkey.exe 的底层原理涉及到 Windows 操作系统中的凭据管理器(Credential Manager)和安全存储机制。以下是 cmdkey.exe 的基本底层原理:
-
凭据管理器(Credential Manager):
- Windows 提供了一个统一的凭据管理器,用于存储和管理用户的身份验证信息,如用户名、密码、数字证书等。这个管理器存储在系统的安全存储区域中,确保凭据的安全性和保密性。
-
命令行接口:
cmdkey.exe提供了一个命令行界面,允许用户和脚本直接与凭据管理器进行交互。通过命令行,管理员可以添加、删除、列出和显示存储在凭据管理器中的凭据信息。cmdkey /?
创建,显示和删除保存的用户名和密码。
此命令的语法为:
CMDKEY [{/add | /generic}:targetname {/smartcard | /user:username {/pass{:password}}} | /delete{:targetname | /ras} | /list{:targetname}]
示例:
要列出可用的凭据:
cmdkey /list
cmdkey /list:targetname要创建域凭据:
cmdkey /add:targetname /user:username /pass:password
cmdkey /add:targetname /user:username /pass
cmdkey /add:targetname /user:username
cmdkey /add:targetname /smartcard要创建普通凭据:
/add 开关可以由 /generic 替代,来创建普通凭据要删除现有凭据:
cmdkey /delete:targetname要删除 RAS 凭据:
cmdkey /delete /ras
-
存储安全:
- 凭据信息存储在 Windows 系统的安全存储区域中,通常是加密的。这确保了即使在物理访问到计算机或者通过网络攻击时,也很难获取到明文的凭据信息。
-
调用系统 API:
cmdkey.exe在执行命令时,实际上是调用了 Windows 提供的凭据管理 API。这些 API 提供了对凭据管理器的底层访问权限,允许进行凭据的添加、删除和修改操作。在 Windows 系统中,用于管理凭据的 API 主要包括以下几个关键的 API:
-
CredRead:
- 这个 API 允许应用程序读取凭据管理器中存储的凭据信息。通过提供目标名称,应用程序可以获取该目标的用户名、密码等凭据信息。
-
CredWrite:
- 这个 API 允许应用程序向凭据管理器中写入新的凭据信息。应用程序可以指定目标名称、用户名、密码等信息,并将这些信息安全地存储在凭据管理器中。
-
CredDelete:
- 使用这个 API,应用程序可以从凭据管理器中删除特定的凭据信息。需要提供目标名称和存储的凭据信息,以确保删除正确的凭据。
-
CredEnumerate:
- 这个 API 允许应用程序列举凭据管理器中存储的所有凭据信息。通过遍历所有的凭据,应用程序可以获取所有存储的目标名称和相关的凭据信息。
-
CredUIPromptForCredentials:
- 这个 API 提供了一个标准的用户界面,用于提示用户输入凭据信息。应用程序可以使用这个 API 弹出一个对话框,用户可以在其中输入用户名和密码等凭据信息。
这些 API 提供了对凭据管理器的底层访问权限,使得应用程序能够直接与 Windows 凭据管理器进行交互,进行凭据的添加、删除、修改和读取操作。这些操作确保了凭据信息的安全存储和管理。
-
-
权限控制:
- 凭据管理涉及到系统级别的权限控制,确保只有授权的用户或程序可以对凭据进行操作。这些权限通常由系统管理员或具有适当权限的用户管理。
cmdkey.exe 是一个通过命令行接口与 Windows 凭据管理器交互的工具,利用系统提供的安全存储和 API,确保了凭据信息的安全性和管理的便捷性。
|
cmdkey /? 创建,显示和删除保存的用户名和密码。 此命令的语法为: CMDKEY [{/add | /generic}:targetname {/smartcard | /user:username {/pass{:password}}} | /delete{:targetname | /ras} | /list{:targetname}] 示例: 要列出可用的凭据: 要创建域凭据: 要创建普通凭据: 要删除现有凭据: 要删除 RAS 凭据: |
cmdkey.exe 是 Windows 系统中的一个命令行工具,用于管理凭据。它的主要功能是管理存储在 Windows 凭据管理器中的凭据信息。凭据管理器是一个安全存储凭据的地方,通常用于存储密码、证书等敏感信息。
架构和工作原理
-
命令行工具:
cmdkey.exe是一个命令行工具,可以通过命令行参数来执行不同的操作,如添加、删除、列出凭据等。
-
调用 Windows 凭据管理 API:
- 在内部实现上,
cmdkey.exe实际上调用了 Windows 提供的凭据管理 API。这些 API 允许程序对凭据管理器进行底层操作,包括读取、写入、删除和列举凭据。
- 在内部实现上,
-
管理凭据:
cmdkey.exe可以执行以下几种主要操作:- 添加凭据:通过
/add参数指定目标名称、用户名和密码等信息,将凭据添加到凭据管理器中。 - 删除凭据:通过
/delete参数指定目标名称,删除凭据管理器中的指定凭据。 - 列出凭据:通过
/list参数,列出所有存储在凭据管理器中的凭据信息。 - 其他操作:还可以执行更新凭据信息等操作,具体取决于命令行参数的使用方式。
- 添加凭据:通过
-
安全性考虑:
- 凭据管理器和
cmdkey.exe的设计考虑了安全性和保密性,确保存储的凭据信息被加密和安全地存储。这些凭据在需要时可以被应用程序使用,而不必明文存储密码或其他敏感信息。
- 凭据管理器和
-
适用场景:
cmdkey.exe通常用于脚本或命令行环境中,例如在批处理文件或 PowerShell 脚本中管理网络共享凭据、远程服务器凭据等场景。它提供了一种便捷的方式来管理这些敏感信息,而无需手动操作 Windows 凭据管理器界面。
cmdkey.exe 架构简单而有效,通过调用 Windows 的凭据管理 API,实现了对凭据的基本管理功能,为系统管理员和脚本编写者提供了方便和安全的凭据管理工具。
cmdkey.exe 在 Windows 系统中有多种实际应用场景,主要涉及到凭据管理和网络资源访问的自动化。以下是一些常见的应用场景:
-
管理网络共享凭据:
- 在企业网络中,经常需要访问多个共享文件夹或资源。使用
cmdkey.exe可以将访问这些资源所需的用户名和密码保存在凭据管理器中,使得用户可以在不重复输入密码的情况下访问这些资源。
- 在企业网络中,经常需要访问多个共享文件夹或资源。使用
-
管理远程服务器凭据:
- 对于系统管理员来说,经常需要管理多台远程服务器的凭据信息。通过
cmdkey.exe可以将远程服务器的登录凭据保存在凭据管理器中,以便远程管理工具或脚本自动登录而无需手动输入密码。
- 对于系统管理员来说,经常需要管理多台远程服务器的凭据信息。通过
-
自动化脚本和任务:
- 在脚本编写中,可以使用
cmdkey.exe在脚本中自动管理凭据。例如,定期执行备份任务时,可以使用存储在凭据管理器中的凭据信息自动连接到数据库服务器或存储位置。
- 在脚本编写中,可以使用
-
远程连接管理:
- 对于远程桌面连接或其他远程管理工具,可以通过
cmdkey.exe预先保存登录远程计算机所需的凭据,以便快速连接而不用每次输入密码。
- 对于远程桌面连接或其他远程管理工具,可以通过
-
批处理和自动化任务:
- 在批处理脚本或自动化任务中,可以利用
cmdkey.exe在脚本运行期间管理凭据,确保脚本可以顺利执行所需的操作而不会因为凭据问题而中断。
- 在批处理脚本或自动化任务中,可以利用
cmdkey.exe 是一个方便的工具,特别适用于需要自动化管理凭据和访问网络资源的场景,能够提高系统管理的效率并确保安全地管理凭据信息。
当使用 cmdkey.exe 进行凭据管理时,以下是一个初级使用教程的大纲,可以帮助你快速了解如何使用这个命令行工具:
1. 添加凭据
- 命令:
cmdkey /add:targetname /user:username /pass:password - 说明:将指定的目标名称(如服务器地址或共享文件夹路径)、用户名和密码添加到凭据管理器中。
- 示例:
cmdkey /add:server.domain.com /user:Administrator /pass:Pa$$w0rd
2. 删除凭据
- 命令:
cmdkey /delete:targetname - 说明:从凭据管理器中删除指定目标名称的凭据。
- 示例:
cmdkey /delete:server.domain.com
3. 列出凭据
- 命令:
cmdkey /list - 说明:列出所有当前存储在凭据管理器中的凭据信息。
- 示例:
cmdkey /list
4. 更新凭据
- 说明:
cmdkey.exe本身不支持直接更新已有凭据,通常是先删除旧的凭据,然后再添加更新后的凭据。
5. 清除所有凭据
- 命令:
cmdkey /clear - 说明:清除凭据管理器中的所有凭据信息。
- 示例:
cmdkey /clear
6. 帮助和参数
- 命令:
cmdkey /?或cmdkey /help - 说明:获取关于
cmdkey.exe命令的帮助信息和详细的参数列表。
注意事项
- 使用
cmdkey.exe添加或管理凭据时,请确保在安全的环境下操作,避免在明文密码下使用此命令。 - 凭据管理器存储的信息会受到 Windows 系统安全性的保护,但仍需谨慎处理以确保敏感信息的安全性。
这些基本操作足以帮助你开始使用 cmdkey.exe 进行凭据管理,适用于管理远程服务器、网络共享或其他需要认证的资源访问。
中级使用者,进一步了解 cmdkey.exe 的功能和高级用法可以更好地管理和优化凭据管理。以下是一个中级使用教程的大纲,涵盖了更复杂的场景和功能:
1. 使用域凭据
- 命令:
cmdkey /add:targetname /user:username@domain /pass:password - 说明:添加域用户的凭据,指定目标名称、完整的用户名(包括域名)和密码。
- 示例:
cmdkey /add:server.domain.com /user:domain\Administrator /pass:Pa$$w0rd
2. 针对网络凭据的操作
- 命令:
cmdkey /generic:targetname /user:username /pass:password - 说明:对于不特定于某个协议的通用网络凭据管理,可以使用
/generic参数。 - 示例:
cmdkey /generic:ftp://ftp.domain.com /user:ftpuser /pass:Pa$$w0rd
3. 导出和导入凭据
- 命令:
cmdkey /list > credentials.txt- 说明:将当前存储的凭据列表导出到文本文件中,便于备份或批量管理。
- 命令:
cmdkey /import credentials.txt- 说明:从文本文件中导入凭据,用于恢复或批量添加凭据。
4. 使用凭据管理器控制台(Credential Manager)
- 命令:
rundll32.exe keymgr.dll,KRShowKeyMgr- 说明:打开凭据管理器控制台,提供图形界面来管理和查看存储的凭据信息。
5. 脚本化和批处理自动化
- 示例:结合批处理脚本或 PowerShell 脚本,实现自动化添加、更新和删除凭据的操作。
- 说明:在自动化任务中使用
cmdkey.exe可以避免手动输入和管理凭据,提高效率和一致性。
6. 多种凭据类型的管理
- 说明:
cmdkey.exe不仅支持密码认证的网络资源,还可以管理使用智能卡等其他凭据类型的网络资源访问。
注意事项和安全性建议
- 在使用
cmdkey.exe进行操作时,应当注意安全性措施,如使用安全存储和传输密码等。 - 凭据管理器存储的凭据信息可能会影响系统和网络安全,因此应根据最佳实践进行管理和控制。
通过掌握这些中级功能和技巧,你可以更灵活地利用 cmdkey.exe 来管理复杂的网络凭据和自动化任务,提升管理效率和安全性。
高级使用者,cmdkey.exe 提供了更多复杂和精细化的管理功能,特别是在大型网络环境或需要高度自动化的场景下。以下是一个高级使用教程的大纲,涵盖了更深入的功能和技巧:
1. 使用命令行参数进一步控制凭据
-
命令:
cmdkey /list:[targetname | * | /domain:domainname]- 说明:列出特定目标、所有凭据或特定域下的所有凭据。这可以帮助你精确查找和管理特定凭据。
-
命令:
cmdkey /delete:[targetname | /ras]- 说明:删除特定目标的凭据或清除 RAS (远程访问服务) 的所有凭据。适用于定期清理和管理凭据库。
2. 使用凭据分组和策略
-
命令:
cmdkey /add /smartcard:targetname- 说明:添加智能卡凭据,适用于需要使用智能卡进行身份验证的系统。
-
命令:
cmdkey /generic:targetname /add- 说明:添加通用凭据而无需指定明文密码,适用于需要更安全管理凭据的情况。
3. 高级脚本化和集成
- 示例:使用 PowerShell 脚本或其他脚本语言与
cmdkey.exe集成,实现更复杂的凭据管理任务,如定时更新、批量操作等。
4. 高级安全和审计功能
- 命令:
cmdkey /setglobalcreds /credui:[targetname | /show]- 说明:设置全局凭据以供后续使用,或者显示用户界面以交互式管理凭据。这可以增强安全性和用户控制。
5. 结合其他安全工具和系统管理
- 示例:结合 Active Directory、LDAP 或其他身份验证和访问控制工具,实现更深度的集成和自动化管理。
6. 进阶凭据管理和追踪
- 命令:
cmdkey /target:targetname /list | /list | /list:domainname- 说明:通过详细的列表命令,获取凭据的更多信息,如创建时间、最后修改时间等,以进行审计和追踪。
7. 注意事项和最佳实践
- 安全性:确保在处理凭据时使用安全的传输和存储方式,如加密和安全传输协议。
- 权限控制:确保只有授权的用户或管理员可以访问和管理凭据。
- 周期性审计:定期审计和清理不再需要的凭据,以降低安全风险。
通过掌握这些高级功能和技巧,你可以更有效地管理和保护网络凭据,确保系统和数据的安全性,并优化运维效率。
cmdkey.exe 专家级使用教程大纲
1. 基本命令和功能介绍
- 命令:
cmdkey /list,cmdkey /add,cmdkey /delete - 功能:列出、添加和删除存储在 Windows 凭据管理器中的凭据。
2. 凭据类型和管理
- 命令:
cmdkey /generic,cmdkey /domain,cmdkey /smartcard - 功能:管理通用凭据、域凭据和智能卡凭据,适应不同的身份验证需求。
3. 高级参数和选项
- 命令:
cmdkey /list:[targetname | * | /domain:domainname] - 功能:详细控制凭据的列出,支持通配符和特定域的筛选。
4. 安全和追踪
- 命令:
cmdkey /setglobalcreds,cmdkey /credui - 功能:设置全局凭据,显示用户界面以交互管理凭据,增强安全性和用户控制。
5. 批处理和脚本化
- 示例:使用 PowerShell 脚本集成
cmdkey.exe命令,实现自动化凭据管理和更新。
6. 审计和监控
- 命令:
cmdkey /target:targetname /list - 功能:列出指定目标的详细凭据信息,包括创建时间和最后修改时间,用于审计和追踪。
7. 高级集成和管理
- 结合工具:结合 Active Directory、LDAP 或其他身份验证工具,实现更复杂的凭据管理和集成。
8. 最佳实践和安全建议
- 安全传输:使用加密和安全传输协议处理敏感凭据。
- 权限控制:确保只有授权用户可以访问和管理凭据。
- 周期性审计:定期审计和清理不再需要的凭据,以减少安全风险。
通过掌握以上专家级功能和技巧,可以更精确地管理和保护存储在 Windows 凭据管理器中的凭据,确保系统和数据的安全性,提高运维效率和安全性管理水平。
cmdkey.exe 顶级使用教程大纲
1. 基础命令和操作
- 命令:
cmdkey /list,cmdkey /add,cmdkey /delete - 功能:列出、添加和删除存储在 Windows 凭据管理器中的凭据。
2. 凭据类型和管理
- 命令:
cmdkey /generic,cmdkey /domain,cmdkey /smartcard - 功能:管理通用凭据、域凭据和智能卡凭据,适应不同的身份验证需求。
3. 高级参数和选项
- 命令:
cmdkey /list:[targetname | * | /domain:domainname] - 功能:详细控制凭据的列出,支持通配符和特定域的筛选。
4. 安全和追踪
- 命令:
cmdkey /setglobalcreds,cmdkey /credui - 功能:设置全局凭据,显示用户界面以交互管理凭据,增强安全性和用户控制。
5. 批处理和脚本化
- 示例:使用 PowerShell 脚本集成
cmdkey.exe命令,实现自动化凭据管理和更新。
6. 审计和监控
- 命令:
cmdkey /target:targetname /list - 功能:列出指定目标的详细凭据信息,包括创建时间和最后修改时间,用于审计和追踪。
7. 高级集成和管理
- 结合工具:结合 Active Directory、LDAP 或其他身份验证工具,实现复杂的凭据管理和集成。
8. 安全最佳实践和高级功能
- 安全传输:使用加密和安全传输协议处理敏感凭据。
- 权限控制:确保只有授权用户可以访问和管理凭据。
- 周期性审计:定期审计和清理不再需要的凭据,以减少安全风险。
9. 故障排除和高级技巧
- 命令:
cmdkey /?,cmdkey /debug - 功能:查看帮助文档和调试凭据管理过程,解决常见问题和调整性能。
结论
掌握以上顶级功能和技巧,使您能够高效、安全地管理和保护存储在 Windows 凭据管理器中的凭据,提升系统安全性和管理效率,适用于复杂网络环境和安全要求高的场景。

浙公网安备 33010602011771号