You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取凭据管理器凭据报错:元素未找到但凭据已存在

解决win32cred.CredRead报"Element not found"错误的问题

调用win32cred.CredRead读取已存在的凭据时返回"元素未找到"错误,结合你提供的凭据信息,问题核心在于凭据类型不匹配或目标名称格式不符,以下是具体解决方法:

1. 修正凭据类型参数

你截图中的凭据属于Windows"普通凭据",对应的win32cred类型常量是win32cred.CRED_TYPE_DOMAIN_PASSWORD(类型值为1),而你代码中使用的CRED_TYPE_GENERIC(类型值为2)对应"通用凭据",类型不匹配会导致无法定位目标凭据。修改代码如下:

import win32cred

target_name = "rtp-abs-cache.com"
# 替换为匹配的凭据类型
credential = win32cred.CredRead(target_name, win32cred.CRED_TYPE_DOMAIN_PASSWORD)

2. 验证目标名称的精确值

如果修改类型后仍报错,可能是存储的目标名称带有前缀(比如https://rtp-abs-cache.com),可以通过遍历所有凭据确认精确值:

import win32cred

# 枚举所有凭据
cred_list = win32cred.CredEnumerate(None, 0)
for cred in cred_list:
    print(f"目标名称: {cred['TargetName']}, 凭据类型: {cred['Type']}")

运行后找到与你截图中一致的条目,用它的TargetName和Type值替换CredRead的参数即可。

补充:Windows凭据类型对应关系

Windows凭据管理器中不同类型凭据与win32cred常量的对应关系:

  • 普通凭据:CRED_TYPE_DOMAIN_PASSWORD(1)
  • 通用凭据:CRED_TYPE_GENERIC(2)
  • 证书凭据:CRED_TYPE_DOMAIN_CERTIFICATE(3)

内容的提问来源于stack exchange,提问作者Akshay J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:50:02