cmdkey.exe 是 Windows 操作系统中的一个命令行工具,用于管理存储在凭据管理器(Credential Manager)中的凭据信息。它允许用户在命令行中添加、删除、列出和显示存储的凭据,调用 Windows API 或使用 CredentialManager PowerShell 模块来管理 Windows 凭据。

cmdkey | Microsoft Learn cmdkey.exe

control /name Microsoft.CredentialManager

PixPin_2025-09-29_00-08-39

PixPin_2025-09-29_00-09-03

 

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


在 PowerShell 中,cmdkey 命令的等效命令是 New-PSDriveGet-Credential,取决于你想要执行的操作。具体来说:

1. 使用 New-PSDrive 创建临时的网络驱动器映射:

如果你用 cmdkey 添加凭据并挂载网络驱动器,可以在 PowerShell 中使用 New-PSDrive 来实现:

powershell
New-PSDrive -Name "DriveName" -PSProvider FileSystem -Root "\\Server\Share" -Persist -Credential (Get-Credential)

这会提示输入凭据并将网络驱动器映射到本地文件系统。

2. 使用 Get-Credential 设置和存储凭据:

如果你希望直接存储凭据,可以使用 Get-Credential 获取凭据对象。然后,可以将凭据存储到 Windows 凭据管理器中(类似于 cmdkey 的用途):

powershell
$credential = Get-Credential

接下来,你可以将凭据传递给其他 cmdlet,或者将其存储到某些应用中。

3. 手动添加凭据到凭据管理器:

虽然 PowerShell 本身没有直接的 cmdkey 等效命令,但你可以通过调用 Windows API 或使用 CredentialManager PowerShell 模块来管理 Windows 凭据。

例如,使用 CredentialManager 模块:

powershell
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 模块:

powershell
Install-Module -Name CredentialManager -Force

然后,可以使用 Get-StoredCredential 来列出所有凭据:

powershell
Get-StoredCredential

要列出特定目标的凭据,可以提供目标名称:

powershell
Get-StoredCredential -Target "targetname"

2. 创建域凭据 (cmdkey /add:targetname /user:username /pass:password)

在 PowerShell 中,使用 Add-StoredCredential 来添加凭据。以下是创建域凭据的示例:

powershell
Add-StoredCredential -Target "targetname" -UserName "username" -Password "password" -Persist

如果需要交互式输入密码,您可以使用:

powershell
$credential = Get-Credential
Add-StoredCredential -Target "targetname" -UserName $credential.UserName -Password $credential.GetNetworkCredential().Password -Persist

3. 创建普通凭据 (cmdkey /add:targetname /generic)

要创建普通凭据(即非域凭据),可以使用以下 PowerShell 命令:

powershell
Add-StoredCredential -Target "targetname" -UserName "username" -Password "password" -Persist -Type Generic

4. 删除现有凭据 (cmdkey /delete:targetname)

要删除存储的凭据,使用 Remove-StoredCredential

powershell
Remove-StoredCredential -Target "targetname"

5. 删除 RAS 凭据 (cmdkey /delete /ras)

PowerShell 没有单独的 RAS 凭据删除功能,但你可以删除所有凭据,包括 RAS 凭据。你可以通过列出并删除所有凭据来实现:

powershell
Get-StoredCredential | Where-Object { $_.Target -like "ras*" } | Remove-StoredCredential

6. 删除所有凭据

如果你想要删除所有凭据,可以使用以下命令:

powershell
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 查看并删除不再需要的特定凭据。用于故障排查和删除过时的登录信息,确保系统中没有多余的凭据存储。

各命令的应用场景说明:

  1. 列出凭据

    • /list:用于管理凭据时查看当前存储的所有凭据。适合管理员定期检查哪些凭据存储在系统中。
    • /list:targetname:当多个凭据存储在系统中时,通过列出指定目标的凭据来快速验证或修改某个特定服务的凭据。
  2. 创建域凭据

    • /add:常用于在系统中自动添加用于访问企业或公司域控制器的凭据。通过 cmdkey 命令可以避免每次访问时手动输入用户名和密码,尤其在设置自动登录或脚本执行时非常有用。
    • /smartcard:在高安全性要求的环境下使用,适合带有智能卡身份验证的系统。用于更安全的登录方式,通常在金融或政府机关中使用。
    • /user 和 /pass:可适用于网络共享、域认证、服务器登录等自动化环境。也可根据需要只输入用户名或密码。
  3. 创建通用凭据

    • /generic:适用于为多个不同应用(如企业内部Web应用、数据库、FTP服务器等)设置统一的凭据,减少记住多个密码的麻烦,常见于集中的认证管理系统。
  4. 删除凭据

    • /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 /?

创建、显示和删除存储的用户名和密码。

此命令的语法如下:

Copy Code
CMDKEY [{/add | /generic}:targetname {/smartcard | /user:username {/pass{:password}}} | /delete{:targetname | /ras} | /list{:targetname}]

示例:

  1. 列出可用的凭据:

    Copy Code
    cmdkey /list
    cmdkey /list:targetname
  2. 创建域凭据:

    Copy Code
    cmdkey /add:targetname /user:username /pass:password
    cmdkey /add:targetname /user:username /pass
    cmdkey /add:targetname /user:username
    cmdkey /add:targetname /smartcard
  3. 创建通用凭据: 使用 /add 开关可以替换为 /generic 来创建通用凭据。

  4. 删除现有凭据:

    Copy Code
    cmdkey /delete:targetname
  5. 删除RAS凭据:

    Copy Code

 

凭证管理器:Web凭证与Windows凭证的详细说明

Windows凭证管理器是Windows操作系统中的一个功能,它帮助用户安全地存储和管理各种凭证(如用户名和密码),这些凭证用于网络访问、共享文件、网站登录等。凭证管理器分为两个主要类别:Web凭证Windows凭证。以下是这两者的详细对比:

类型 Web凭证 Windows凭证
定义 存储用于网页浏览器登录的用户名、密码和其他信息。 存储用于Windows操作系统本地和网络资源访问的凭证(如共享文件夹、远程桌面登录等)。
使用场景 用于在网站或Web应用程序中自动填写用户名和密码。 用于Windows系统的网络资源访问(如共享文件夹、远程桌面、映射网络驱动器等)。
存储位置 存储在Windows凭证管理器中,用于网络或Web服务访问。 存储在本地Windows凭证管理器中,用于系统和网络资源访问。
管理方式 由浏览器自动添加或由用户手动管理。 用户可手动添加、编辑或删除,通常通过控制面板或凭证管理器应用管理。
加密 使用系统加密机制来保护存储在凭证管理器中的Web凭证。 采用与系统安全策略相匹配的加密机制,确保存储的凭证安全。
应用程序 常见的应用包括Microsoft EdgeGoogle Chrome等浏览器。 适用于Windows操作系统中的任何网络、共享、远程桌面等应用。
凭证内容 存储的是网页地址、用户名、密码等Web登录信息。 存储的包括Windows账户、密码、网络地址等信息。
访问方法 通过浏览器的凭证管理工具或凭证管理器查看和管理Web凭证。 可以通过控制面板中的凭证管理器访问、添加或删除Windows凭证。
关联类型 URL网站及其相关的用户名和密码绑定。 网络地址(如共享文件夹路径、远程服务器IP等)及账户绑定。
自动填充 浏览器会自动填充网站登录表单。 自动填写本地网络或系统资源的用户名和密码(如共享文件夹、远程登录)。
删除方式 在浏览器设置或凭证管理器中删除Web凭证。 在凭证管理器中删除Windows凭证。

详细说明

1. Web凭证

  • 功能:Web凭证存储的是与Web浏览器相关的登录信息,通常包括网页地址、用户名和密码。Windows凭证管理器用于保存这些凭证,从而使得用户在访问网页时可以自动填写相关的用户名和密码。
  • 如何管理:大多数现代浏览器(如Microsoft EdgeGoogle Chrome等)都有内置的凭证管理功能,用户在首次登录时可以选择是否保存凭证。保存后的凭证可以通过浏览器的凭证管理器进行查看和删除。
  • 自动填充:浏览器在访问某个网站时会自动填充用户名和密码,以便用户无需再次输入。

2. Windows凭证

  • 功能:Windows凭证主要用于本地网络环境中的凭证管理。它可以保存Windows登录账户信息、共享文件夹的访问凭证、远程桌面登录凭证等。它可以减少每次访问这些资源时手动输入用户名和密码的需要。
  • 如何管理:用户可以通过Windows的控制面板中的凭证管理器来手动添加、编辑或删除这些凭证。对于某些操作(如网络共享、远程桌面连接),系统会自动提示用户保存凭证。
  • 适用场景
    • 共享文件夹:当您访问网络共享文件夹时,系统可能会要求输入凭证。此时,凭证可以存储在Windows凭证管理器中,以便下次自动填充。
    • 远程桌面:在使用远程桌面连接时,您可以选择保存登录凭证,方便下次直接连接。

如何查看和管理这些凭证

1. 查看Web凭证

  • 打开 控制面板,选择 凭证管理器
  • 在 Web凭证 部分,您将看到所有通过浏览器保存的凭证。您可以选择查看、编辑或删除特定的Web凭证。

2. 查看Windows凭证

  • 打开 控制面板,选择 凭证管理器
  • 在 Windows凭证 部分,您将看到所有Windows系统保存的凭证。可以添加新的凭证(例如网络共享、远程桌面连接)或编辑和删除已有的凭证。

通过合理管理 Web凭证和 Windows凭证,用户可以提高工作效率并加强系统的安全性,避免频繁输入用户名和密码。

提供的步骤详细说明了如何通过不同的方式访问和启动 Windows 的 凭据管理器(Credential Manager)。以下是每种方法的概述和步骤:

1. 通过运行命令框启动

  • 按 Win + R 启动运行命令框。
  • 在文本框中输入以下命令:
    Copy Code
    control /name Microsoft.CredentialManager
  • 按 Enter 键,凭据管理器将会打开。

2. 通过文件资源管理器启动

  • 按 Win + E 打开文件资源管理器。
  • 在地址栏中粘贴以下路径:
    Copy Code
    C:\Windows\SysWOW64
  • 找到并右键点击 keymgr.dll 文件,选择 显示更多选项,然后点击 打开方式
  • 选择 Control.exe 来启动凭据管理器。

3. 通过命令提示符启动

  • 按 Win + R 打开运行对话框,输入 cmd,然后按 Ctrl + Shift + Enter 以管理员身份打开命令提示符。
  • 在命令提示符中输入以下命令并按 Enter
    Copy Code
    control.exe keymgr.dll

4. 通过桌面快捷方式启动

  • 按 Win + D 切换到桌面。
  • 右键点击桌面,选择 新建 > 快捷方式
  • 在创建快捷方式窗口中,粘贴以下路径:
    Copy Code
    control.exe /name Microsoft.CredentialManager
  • 完成后点击 下一步,为快捷方式命名,最后点击 完成

5. 通过 PowerShell 启动

  • 按 Win + S 打开 Windows 搜索,输入 PowerShell,然后右键点击 以管理员身份运行
  • 在 PowerShell 窗口中输入以下命令并按 Enter
    Copy Code
    start-process control.exe keymgr.dll

6. 通过批处理文件启动

  • 按 Win + D 切换到桌面。
  • 右键点击桌面,选择 新建 > 文本文档
  • 打开文本文件,并粘贴以下代码:
    Copy Code
    @echo off
    powershell.exe control.exe keymgr.dll
  • 按 Ctrl + Shift + S 保存文件,命名为 CredMgr.bat,然后点击保存。通过双击该批处理文件即可启动凭据管理器。

以上方法提供了不同的方式来快速访问 凭据管理器,您可以根据个人习惯选择最方便的方式。

凭证管理器 (Credential Manager) 安全性分析

凭证管理器 是 Windows 操作系统中的一个工具,用于存储和管理用户的用户名、密码、证书和其他凭证,方便用户在不同应用程序和服务中自动登录。凭证管理器可以存储的凭证类型包括:

  • Windows 凭证:用于 Windows 登录及访问网络共享。
  • Web 凭证:用于网页应用的登录凭证。
  • 通用凭证:用户自定义的其他凭证。

1. 凭证管理器的工作原理

凭证管理器提供了一个图形界面,让用户轻松查看、添加、删除或编辑凭证。在后台,这些凭证会被加密并存储在 Windows 的凭证存储区(Credential Store)中。存储的凭证信息通常被加密存储,只有 Windows 操作系统可以访问。

加密方式: 凭证管理器的存储是基于 Windows 数据保护 API (DPAPI),它可以确保存储的凭证在本地计算机上加密,只有特定的用户(当前登录用户)可以访问这些凭证。

2. 凭证管理器的安全性分析

优点:

  1. 加密存储:

    • 存储的凭证是经过加密的,使用的是系统级别的加密技术(如 DPAPI),这一点使得即使本地文件被泄露,也难以被非授权用户读取。
  2. 简化认证:

    • 用户无需每次输入用户名和密码,凭证管理器会自动填写相关的认证信息,增强了用户体验和生产力,尤其是在多应用、多网站的环境中。
  3. 与 Windows 安全体系集成:

    • 凭证管理器与 Windows 安全机制(如 Windows 登录和 Windows Hello)紧密集成,利用系统的加密和身份验证机制增加了安全性。
  4. 适应多种应用:

    • 凭证管理器支持多种类型的凭证,包括本地计算机的登录凭证、远程桌面连接凭证、VPN、Web 登录等,满足了多种应用场景的需求。

缺点:

  1. 依赖单一密码:

    • 凭证管理器的安全性依赖于用户的登录密码。因此,如果攻击者通过某种方式破解或获取了用户的密码(例如,通过键盘记录器、社交工程攻击等),他们就能访问凭证管理器存储的所有凭证。
  2. 无法跨系统共享:

    • 凭证管理器仅限于单台计算机上存储和使用的凭证。如果您需要在多个设备上访问同一凭证(例如,在桌面和移动设备上共享密码),则无法方便地实现,除非使用第三方密码管理工具。
  3. 缓存漏洞:

    • 尽管凭证管理器加密存储密码,但在某些情况下(例如应用程序崩溃或操作系统漏洞),这些凭证可能会以明文形式暴露给恶意程序。如果系统被入侵,攻击者可能会借此获取凭证信息。
  4. 自动填充可能被滥用:

    • 自动填充功能是凭证管理器的一个优势,但它也可能带来一些安全隐患。如果恶意软件能够获取系统的登录凭证,或者用户在访问不安全网站时,自动填写的凭证可能会被泄露。
  5. 锁屏后的保护:

    • 如果用户离开计算机且没有锁定计算机(例如,启用屏幕保护程序后),凭证管理器的凭证可能会被未经授权的人员访问。

3. 凭证管理器的密码强度和安全性分析

密码强度

凭证管理器存储的密码强度主要取决于以下几个方面:

  1. Windows 用户密码:

    • 凭证管理器存储的凭证通常与用户的 Windows 登录密码相关。Windows 提供多种密码保护选项,包括复杂密码、PIN 码(在 Windows Hello 下)、生物识别(指纹、面部识别)等。为了确保凭证管理器的安全,用户应确保使用强密码。
  2. 密码生成与管理:

    • 虽然凭证管理器提供了方便的凭证存储,但它本身并不提供密码生成和管理功能。如果用户手动创建密码并添加到凭证管理器,则密码的强度取决于用户的密码选择。建议使用长、复杂且包含字母、数字和符号的密码,以增加密码的安全性。
  3. Windows Hello:

    • 对于启用了 Windows Hello 的设备,使用生物识别(如指纹或面部识别)作为身份验证方式时,凭证管理器的安全性相对较高,因为这种认证方式不依赖于传统的密码,而是依赖于硬件加密和生物识别技术。

密码强度建议:

  • 最小长度: 推荐至少使用 12 个字符。
  • 字符组合: 密码应包含大写字母、小写字母、数字和符号。
  • 避免常见密码: 避免使用如 123456 或 password 这样的弱密码。

多因素认证 (MFA) 的引入:

  • 虽然凭证管理器本身不支持多因素认证,但启用操作系统或应用程序级别的 MFA 可以进一步增强凭证存储的安全性。使用 MFA 时,即便凭证管理器中的凭证被盗取,攻击者仍然需要第二个身份验证因素(如手机验证码)来完成认证。

4. 如何增强凭证管理器的安全性

  1. 使用强密码:

    • 确保您的 Windows 登录密码强度足够,并且定期更换密码。
  2. 启用屏幕保护程序:

    • 启用自动锁定功能,确保计算机在离开时自动锁定,防止未经授权的人员访问凭证管理器。
  3. 使用 Windows Hello:

    • 启用 Windows Hello 或其他生物识别技术,避免依赖传统的密码。
  4. 定期审查和删除过期凭证:

    • 定期审查凭证管理器中的凭证,删除不再使用的凭证或过期的凭证,减少潜在的安全风险。
  5. 避免第三方应用滥用凭证管理器:

    • 确保您只在可信的应用程序和服务中使用凭证管理器,避免将凭证存储在不可信的应用中。

 

凭证管理器是一个便捷的工具,用于存储和管理多个服务的登录凭证,但它的安全性依赖于操作系统的整体安全性以及用户的密码管理策略。通过使用强密码、启用多因素认证和生物识别技术等方式,可以进一步增强凭证管理器的安全性。如果使用得当,凭证管理器是一个相对安全且高效的工具,有助于用户在各种服务中进行安全的身份验证。

 

cmdkey.exe 是 Windows 操作系统中的一个命令行工具,用于管理存储在凭据管理器(Credential Manager)中的凭据信息。它允许用户在命令行中添加、删除、列出和显示存储的凭据,通常用于简化对网络资源、服务器或其他系统的身份验证过程。

具体来说,cmdkey.exe 主要用于以下几个功能:

  1. 添加凭据:将用户名和密码或其他凭据信息添加到凭据管理器中,以便后续无需手动输入即可登录到特定资源。

  2. 删除凭据:从凭据管理器中移除不再需要的凭据信息,以确保安全性和管理的简洁性。

  3. 列出凭据:显示当前存储在凭据管理器中的所有凭据信息,包括每个凭据的目标名称和类型。

  4. 显示凭据:显示特定目标的详细凭据信息,如用户名和密码。

这些功能使得 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 的主要发展阶段和功能更新:

发展阶段

  1. 初期版本

    • 最早版本的 cmdkey.exe 主要支持基本的凭据管理功能,如添加、删除和列出凭据。
  2. Windows XP 和 Server 2003

    • 引入了对域凭据的支持,允许管理与Windows域相关的凭据。
    • 提升了对安全性和权限管理的支持。
  3. Windows Vista 和 Server 2008

    • 增强了对智能卡凭据的管理能力。
    • 引入了更多的命令选项和参数,提升了灵活性和控制能力。
  4. Windows 7 和 Server 2008 R2

    • 改进了对Windows凭据管理器的集成和支持。
    • 引入了更多的安全特性,如安全传输协议和加密存储。
  5. Windows 8 和 Server 2012

    • 提升了与其他Windows安全工具和服务的集成,如Active Directory和Group Policy。
    • 改进了用户界面和交互性,使得管理更加直观和易用。
  6. Windows 10 和 Server 2016

    • 进一步改进了安全性和凭据管理的性能。
    • 引入了更多面向企业和云服务的功能,如Azure凭据集成。
  7. 最新版本

    • 持续更新和改进,以适应现代化的安全需求和网络环境。
    • 支持更复杂的身份验证场景和集成需求。

总结

cmdkey.exe 作为Windows操作系统的一部分,随着每个主要版本的发布而持续演变和改进。它的发展主要集中在增强凭据管理的功能、安全性和易用性,以应对不断变化的网络安全挑战和技术环境。


cmdkey.exe 主要用于管理 Windows 系统中的凭据信息,其功能可以大致分为以下几类:

  1. 添加凭据

    • 使用 cmdkey /add 命令可以将凭据信息添加到凭据管理器中,以便后续访问特定的网络资源或服务时自动提供身份验证信息。
  2. 删除凭据

    • 使用 cmdkey /delete 命令可以从凭据管理器中删除不再需要的凭据信息,确保管理的安全性和简洁性。
  3. 列出凭据

    • 使用 cmdkey /list 命令可以列出当前存储在凭据管理器中的所有凭据信息,包括每个凭据的目标名称和类型。
  4. 显示凭据

    • 使用 cmdkey /target 命令可以显示特定目标的详细凭据信息,如用户名和密码。
  5. 更新凭据

    • 虽然 cmdkey.exe 主要用于添加和删除凭据,但它也可以通过重新添加具有相同目标的凭据来更新已存在的凭据信息。
  6. 帮助和支持

    • cmdkey.exe 还支持帮助命令,可以使用 cmdkey /? 或 cmdkey /h 查看命令的帮助文档,了解每个命令的使用方式和参数选项。

这些功能使得 cmdkey.exe 成为管理员在管理 Windows 系统中的网络凭据时一个有力的工具,特别是在需要自动化和批量管理凭据信息时尤为重要。


cmdkey.exe 的底层原理涉及到 Windows 操作系统中的凭据管理器(Credential Manager)和安全存储机制。以下是 cmdkey.exe 的基本底层原理:

  1. 凭据管理器(Credential Manager)

    • Windows 提供了一个统一的凭据管理器,用于存储和管理用户的身份验证信息,如用户名、密码、数字证书等。这个管理器存储在系统的安全存储区域中,确保凭据的安全性和保密性。
  2. 命令行接口

    • 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

       
  3. 存储安全

    • 凭据信息存储在 Windows 系统的安全存储区域中,通常是加密的。这确保了即使在物理访问到计算机或者通过网络攻击时,也很难获取到明文的凭据信息。
  4. 调用系统 API

    • cmdkey.exe 在执行命令时,实际上是调用了 Windows 提供的凭据管理 API。这些 API 提供了对凭据管理器的底层访问权限,允许进行凭据的添加、删除和修改操作。

      在 Windows 系统中,用于管理凭据的 API 主要包括以下几个关键的 API:

      1. CredRead

        • 这个 API 允许应用程序读取凭据管理器中存储的凭据信息。通过提供目标名称,应用程序可以获取该目标的用户名、密码等凭据信息。
      2. CredWrite

        • 这个 API 允许应用程序向凭据管理器中写入新的凭据信息。应用程序可以指定目标名称、用户名、密码等信息,并将这些信息安全地存储在凭据管理器中。
      3. CredDelete

        • 使用这个 API,应用程序可以从凭据管理器中删除特定的凭据信息。需要提供目标名称和存储的凭据信息,以确保删除正确的凭据。
      4. CredEnumerate

        • 这个 API 允许应用程序列举凭据管理器中存储的所有凭据信息。通过遍历所有的凭据,应用程序可以获取所有存储的目标名称和相关的凭据信息。
      5. CredUIPromptForCredentials

        • 这个 API 提供了一个标准的用户界面,用于提示用户输入凭据信息。应用程序可以使用这个 API 弹出一个对话框,用户可以在其中输入用户名和密码等凭据信息。

      这些 API 提供了对凭据管理器的底层访问权限,使得应用程序能够直接与 Windows 凭据管理器进行交互,进行凭据的添加、删除、修改和读取操作。这些操作确保了凭据信息的安全存储和管理。

  5. 权限控制

    • 凭据管理涉及到系统级别的权限控制,确保只有授权的用户或程序可以对凭据进行操作。这些权限通常由系统管理员或具有适当权限的用户管理。

 cmdkey.exe 是一个通过命令行接口与 Windows 凭据管理器交互的工具,利用系统提供的安全存储和 API,确保了凭据信息的安全性和管理的便捷性。


 

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 是 Windows 系统中的一个命令行工具,用于管理凭据。它的主要功能是管理存储在 Windows 凭据管理器中的凭据信息。凭据管理器是一个安全存储凭据的地方,通常用于存储密码、证书等敏感信息。

架构和工作原理

  1. 命令行工具

    • cmdkey.exe 是一个命令行工具,可以通过命令行参数来执行不同的操作,如添加、删除、列出凭据等。
  2. 调用 Windows 凭据管理 API

    • 在内部实现上,cmdkey.exe 实际上调用了 Windows 提供的凭据管理 API。这些 API 允许程序对凭据管理器进行底层操作,包括读取、写入、删除和列举凭据。
  3. 管理凭据

    • cmdkey.exe 可以执行以下几种主要操作:
      • 添加凭据:通过 /add 参数指定目标名称、用户名和密码等信息,将凭据添加到凭据管理器中。
      • 删除凭据:通过 /delete 参数指定目标名称,删除凭据管理器中的指定凭据。
      • 列出凭据:通过 /list 参数,列出所有存储在凭据管理器中的凭据信息。
      • 其他操作:还可以执行更新凭据信息等操作,具体取决于命令行参数的使用方式。
  4. 安全性考虑

    • 凭据管理器和 cmdkey.exe 的设计考虑了安全性和保密性,确保存储的凭据信息被加密和安全地存储。这些凭据在需要时可以被应用程序使用,而不必明文存储密码或其他敏感信息。
  5. 适用场景

    • cmdkey.exe 通常用于脚本或命令行环境中,例如在批处理文件或 PowerShell 脚本中管理网络共享凭据、远程服务器凭据等场景。它提供了一种便捷的方式来管理这些敏感信息,而无需手动操作 Windows 凭据管理器界面。

 cmdkey.exe 架构简单而有效,通过调用 Windows 的凭据管理 API,实现了对凭据的基本管理功能,为系统管理员和脚本编写者提供了方便和安全的凭据管理工具。


cmdkey.exe 在 Windows 系统中有多种实际应用场景,主要涉及到凭据管理和网络资源访问的自动化。以下是一些常见的应用场景:

  1. 管理网络共享凭据

    • 在企业网络中,经常需要访问多个共享文件夹或资源。使用 cmdkey.exe 可以将访问这些资源所需的用户名和密码保存在凭据管理器中,使得用户可以在不重复输入密码的情况下访问这些资源。
  2. 管理远程服务器凭据

    • 对于系统管理员来说,经常需要管理多台远程服务器的凭据信息。通过 cmdkey.exe 可以将远程服务器的登录凭据保存在凭据管理器中,以便远程管理工具或脚本自动登录而无需手动输入密码。
  3. 自动化脚本和任务

    • 在脚本编写中,可以使用 cmdkey.exe 在脚本中自动管理凭据。例如,定期执行备份任务时,可以使用存储在凭据管理器中的凭据信息自动连接到数据库服务器或存储位置。
  4. 远程连接管理

    • 对于远程桌面连接或其他远程管理工具,可以通过 cmdkey.exe 预先保存登录远程计算机所需的凭据,以便快速连接而不用每次输入密码。
  5. 批处理和自动化任务

    • 在批处理脚本或自动化任务中,可以利用 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 /listcmdkey /addcmdkey /delete
  • 功能:列出、添加和删除存储在 Windows 凭据管理器中的凭据。

2. 凭据类型和管理

  • 命令cmdkey /genericcmdkey /domaincmdkey /smartcard
  • 功能:管理通用凭据、域凭据和智能卡凭据,适应不同的身份验证需求。

3. 高级参数和选项

  • 命令cmdkey /list:[targetname | * | /domain:domainname]
  • 功能:详细控制凭据的列出,支持通配符和特定域的筛选。

4. 安全和追踪

  • 命令cmdkey /setglobalcredscmdkey /credui
  • 功能:设置全局凭据,显示用户界面以交互管理凭据,增强安全性和用户控制。

5. 批处理和脚本化

  • 示例:使用 PowerShell 脚本集成 cmdkey.exe 命令,实现自动化凭据管理和更新。

6. 审计和监控

  • 命令cmdkey /target:targetname /list
  • 功能:列出指定目标的详细凭据信息,包括创建时间和最后修改时间,用于审计和追踪。

7. 高级集成和管理

  • 结合工具:结合 Active Directory、LDAP 或其他身份验证工具,实现更复杂的凭据管理和集成。

8. 最佳实践和安全建议

  • 安全传输:使用加密和安全传输协议处理敏感凭据。
  • 权限控制:确保只有授权用户可以访问和管理凭据。
  • 周期性审计:定期审计和清理不再需要的凭据,以减少安全风险。

通过掌握以上专家级功能和技巧,可以更精确地管理和保护存储在 Windows 凭据管理器中的凭据,确保系统和数据的安全性,提高运维效率和安全性管理水平。


cmdkey.exe 顶级使用教程大纲

1. 基础命令和操作

  • 命令cmdkey /listcmdkey /addcmdkey /delete
  • 功能:列出、添加和删除存储在 Windows 凭据管理器中的凭据。

2. 凭据类型和管理

  • 命令cmdkey /genericcmdkey /domaincmdkey /smartcard
  • 功能:管理通用凭据、域凭据和智能卡凭据,适应不同的身份验证需求。

3. 高级参数和选项

  • 命令cmdkey /list:[targetname | * | /domain:domainname]
  • 功能:详细控制凭据的列出,支持通配符和特定域的筛选。

4. 安全和追踪

  • 命令cmdkey /setglobalcredscmdkey /credui
  • 功能:设置全局凭据,显示用户界面以交互管理凭据,增强安全性和用户控制。

5. 批处理和脚本化

  • 示例:使用 PowerShell 脚本集成 cmdkey.exe 命令,实现自动化凭据管理和更新。

6. 审计和监控

  • 命令cmdkey /target:targetname /list
  • 功能:列出指定目标的详细凭据信息,包括创建时间和最后修改时间,用于审计和追踪。

7. 高级集成和管理

  • 结合工具:结合 Active Directory、LDAP 或其他身份验证工具,实现复杂的凭据管理和集成。

8. 安全最佳实践和高级功能

  • 安全传输:使用加密和安全传输协议处理敏感凭据。
  • 权限控制:确保只有授权用户可以访问和管理凭据。
  • 周期性审计:定期审计和清理不再需要的凭据,以减少安全风险。

9. 故障排除和高级技巧

  • 命令cmdkey /?cmdkey /debug
  • 功能:查看帮助文档和调试凭据管理过程,解决常见问题和调整性能。

结论

掌握以上顶级功能和技巧,使您能够高效、安全地管理和保护存储在 Windows 凭据管理器中的凭据,提升系统安全性和管理效率,适用于复杂网络环境和安全要求高的场景。


 

posted @ 2024-07-17 07:30  suv789  阅读(1132)  评论(0)    收藏  举报