Windows AD PowerShell(八):Kerberos 与票据

4832 字
24 分钟
Windows AD PowerShell(八):Kerberos 与票据

这是 Windows AD PowerShell 学习记录的第八节,主要整理 Kerberos 认证流程、TGT 与服务票据、klist 的常用操作,以及“改完权限仍然不生效”一类问题的排查方法。

2026 年 9 月 22 日,本节通过 VMware Tools 在 QYNET-CORE01 上进行了只读实机核验。来宾命令以 QY\Administrator 的临时 Batch 登录会话运行,因此票据缓存与桌面交互式用户并不相同。文中标注“实机输出”的内容来自本次 VM;其余故障场景与变更命令均明确作为教学示例,没有在 VM 上执行。

klist purge 会删除目标登录会话的票据,可能暂时中断已经建立的网络访问,本次没有执行。

八、Kerberos 与票据#

8.1 Kerberos 解决了什么问题#

Kerberos 让用户登录域后,可以在不反复向每个服务提交密码的情况下访问文件服务器、Web 服务、SQL Server 等域内资源。

一次典型的认证过程可以简化为:

用户登录域
↓ AS-REQ / AS-REP
KDC 验证用户并签发 TGT
↓
客户端访问 CIFS、HTTP、MSSQLSvc 等服务
↓ TGS-REQ / TGS-REP
客户端用 TGT 向 KDC 申请目标 SPN 的服务票据
↓
客户端把服务票据交给目标服务
↓
目标服务使用自身账户密钥解密并验证票据

Windows 域中的 KDC 运行在域控制器上,包含两个逻辑部分:

服务交换过程作用
Authentication ServiceAS Exchange验证用户并签发 TGT
Ticket-Granting ServiceTGS Exchange根据 TGT 为具体 SPN 签发服务票据

Kerberos 认证涉及三个主要角色:

角色示例作用
客户端主体QY\qianyue发起访问
KDCQYNET-CORE01.qy.net验证主体并签发票据
服务主体cifs/fileserver.qy.net接收并验证服务票据

8.2 TGT 与服务票据的区别#

Kerberos 缓存中最常见的是两类票据:

票据常见 Server 字段用途
TGT(Ticket-Granting Ticket)krbtgt/QY.NET向 KDC 继续申请其他服务票据
服务票据(Service Ticket)cifs/server.qy.net、HTTP/web.qy.net向指定服务证明身份

可以把 TGT 理解为“向售票处继续购票的凭证”,把服务票据理解为“进入某个具体服务的门票”。拿到 TGT 不等于已经拥有所有资源权限;目标服务仍会根据票据中的身份信息和资源 ACL 决定是否允许访问。

常见服务与 SPN 的对应关系:

访问对象常见 SPN
SMB 共享cifs/fileserver.qy.net
IIS / Web 服务HTTP/web.qy.net
SQL ServerMSSQLSvc/sql.qy.net:1433
LDAPLDAP/dc01.qy.net
WinRMWSMAN/server.qy.net

DNS 与 SPN 的注册、查重方法已经在第七篇:DNS、SPN 与 Kerberos 排障中整理。本节主要从客户端票据和登录会话的角度继续排查。

8.3 查看当前登录会话的全部票据#

直接运行 klist。本次 VMware Tools 刚创建的 Batch 会话最初没有缓存票据:

Terminal window
# 查看当前登录会话缓存的 Kerberos 票据
klist
当前登录 ID 是 0:0xac0d8
缓存的票证: (0)

这是实机输出,不表示 DC 没有 Kerberos 票据,只表示这个刚建立的临时登录会话尚未请求票据。执行 klist get 后,同一会话会按需取得 TGT 与服务票据。

klist tickets 与直接执行 klist 的作用相同:

Terminal window
klist tickets
当前登录 ID 是 0:0xac0d8
缓存的票证: (0)

查看输出时优先关注:

字段含义排查用途
Current LogonId当前登录会话的 LUID区分用户、服务和 SYSTEM 的票据缓存
Client获得票据的安全主体确认是否使用了预期账户
Server票据对应的服务主体确认实际申请了哪个 SPN
KerbTicket Encryption Type票据加密类型排查 AES、RC4 等兼容性问题
Start Time票据开始生效时间判断是否仍在使用修改前的旧票据
End Time票据失效时间判断票据是否已经过期
Renew Time最晚续订时间判断票据还能否续订
Ticket Flags票据属性排查续订、转发和委派等问题

Windows 中不要使用 klist -e#

在部分 Linux 或 MIT Kerberos 教程中,klist -e 用于显示加密类型;Windows 自带的 klist.exe 不支持这个参数。Windows 的普通 klist 输出已经包含 KerbTicket Encryption Type 与 Session Key Type。

Terminal window
klist -e
用法: klist.exe [command]
命令列表:
[tickets] [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
tgt [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
purge [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
sessions [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
kcd_cache [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
get <SPN> [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>]
add_bind <DOMAIN> <DC>
query_bind
purge_bind

以上为 Server 2016 的实机输出。它没有执行 -e,而是直接显示帮助;关键点是:在 Windows 上直接使用 klist 查看加密类型。

8.4 只查看当前 TGT#

初始会话没有 TGT,klist tgt 返回“安全包中没有可用的凭证”。在下一节执行 klist get 后,同一实机会话再次查询:

Terminal window
# 查看当前登录会话的 TGT
klist tgt
当前登录 ID 是 0:0xac0d8
缓存的 TGT:
服务名 : krbtgt
目标名(SPN) : krbtgt
客户端名 : Administrator
域名 : QY.NET
目标域名 : QY.NET
票证标志 : 0x40e10000 -> forwardable renewable initial pre_authent name_canonicalize
会话密钥 : 密钥类型 0x12 - AES-256-CTS-HMAC-SHA1-96
开始时间 : 9/22/2026 15:14:37 (本地)
结束时间 : 9/23/2026 1:14:37 (本地)
在以下时间之前续订 : 9/29/2026 15:14:37 (本地)
TimeSkew : + 0:00 分钟

如果当前域用户已经正常登录,但 klist tgt 找不到 TGT,可以依次检查:

  1. 当前窗口是否运行在另一个账户或登录会话中。
  2. 计算机是否能够找到并联系 KDC。
  3. 客户端 DNS 是否指向 AD DNS。
  4. 客户端与 DC 的时间是否相差过大。
  5. 用户是否使用了本地账户、缓存登录或其他凭据方式。

以下为后续排障命令示例,本次没有再次执行:

Terminal window
whoami
QY\qianyue
nltest /dsgetdc:qy.net /KDC
DC: \\QYNET-CORE01.qy.net
Address: \\10.0.0.10
Dom Guid: 4b237c46-8b33-4a8e-a4cf-3d64e957f4a1
Dom Name: qy.net
Forest Name: qy.net
Dc Site Name: QYNET-CORE
Flags: GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST
The command completed successfully
w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 4 (secondary reference - syncd by (S)NTP)
Source: QYNET-CORE01.qy.net

8.5 主动申请指定服务的票据#

klist get 可以直接向 KDC 请求指定 SPN 的服务票据,很适合验证“这个主体能否为该 SPN 获得票据”。

Terminal window
# 主动申请本机 CIFS 服务票据
klist get cifs/QYNET-CORE01.qy.net
当前登录 ID 是 0:0xac0d8
已成功检索 cifs/QYNET-CORE01.qy.net 的票证。
缓存的票证: (2)
#0> 客户端: Administrator @ QY.NET
服务器: krbtgt/QY.NET @ QY.NET
Kerberos 票证加密类型: AES-256-CTS-HMAC-SHA1-96
票证标志 0x40e10000 -> forwardable renewable initial pre_authent name_canonicalize
开始时间: 9/22/2026 15:14:37 (本地)
结束时间: 9/23/2026 1:14:37 (本地)
续订时间: 9/29/2026 15:14:37 (本地)
调用的 KDC: QYNET-CORE01
#1> 客户端: Administrator @ QY.NET
服务器: cifs/QYNET-CORE01.qy.net @ QY.NET
Kerberos 票证加密类型: AES-256-CTS-HMAC-SHA1-96
票证标志 0x40a50000 -> forwardable renewable pre_authent ok_as_delegate name_canonicalize
开始时间: 9/22/2026 15:14:37 (本地)
结束时间: 9/23/2026 1:14:37 (本地)
续订时间: 9/29/2026 15:14:37 (本地)
调用的 KDC: QYNET-CORE01

实机结果说明:初始 Batch 会话虽然没有票据,但在主动请求 CIFS 票据时,Windows 先取得了 TGT,再取得目标服务票据;两张票据均使用 AES-256。

请求成功后再次查询:

Terminal window
klist
#1> 客户端: Administrator @ QY.NET
服务器: cifs/QYNET-CORE01.qy.net @ QY.NET
Kerberos 票证加密类型: AES-256-CTS-HMAC-SHA1-96
开始时间: 9/22/2026 15:14:37 (本地)
结束时间: 9/23/2026 1:14:37 (本地)

下面是不存在 SPN 时的教学示例,本次没有执行:

Terminal window
klist get HTTP/notexist.qy.net
Current LogonId is 0:0x4a9f1
Error calling API LsaCallAuthenticationPackage (GetTicket substatus): 0x6fb
klist failed with 0xc000018b/-1073741429

不同系统版本的错误码和文字可能不同。不要只记错误数字,应继续确认 SPN:

Terminal window
setspn -F -Q HTTP/notexist.qy.net
Checking forest DC=qy,DC=net
No such SPN found.

klist get 成功只能证明 KDC 能够为目标 SPN 签发票据,不能证明目标服务一定能解密票据,也不能证明资源 ACL 一定允许当前用户访问。

8.6 清空票据并重新获取#

以下为操作示例,本次没有执行 klist purge:

Terminal window
# 清空当前登录会话中的全部 Kerberos 票据
klist purge
Current LogonId is 0:0x4a9f1
Deleting all tickets:
Ticket(s) purged!

清空后立即查询:

Terminal window
klist
Current LogonId is 0:0x4a9f1
Cached Tickets: (0)

再次访问域资源时,Windows 会按需重新申请 TGT 和服务票据:

Terminal window
dir \\QYNET-FS01.qy.net\Public
Directory: \\QYNET-FS01.qy.net\Public
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 9/20/2026 14:32 Documents
klist
Cached Tickets: (2)
#0> Server: krbtgt/QY.NET @ QY.NET
#1> Server: cifs/QYNET-FS01.qy.net @ QY.NET

💡 klist purge 很常用,但不是“万能修复命令”:修改 SPN、修复 DNS 或更换服务账户后,它适合排除旧票据缓存;如果 SPN 仍然错误、服务账户密钥不一致或 ACL 没有授权,重新获取的仍然会是不能使用的票据。

执行前还应注意:

  1. 它会删除当前登录会话中的全部 Kerberos 票据。
  2. 已连接的共享、远程管理或业务会话可能暂时中断。
  3. 它默认只处理当前登录会话,不会自动清除其他用户、服务或 SYSTEM 会话的票据。
  4. 排障结束后应重新访问目标服务,并再次执行 klist 验证。

8.7 加入新组后,清票据还是注销登录#

本节命令与输出用于演示权限排查流程,没有在此次 VM 会话中修改用户组或共享权限。

“已经把用户加入组,但共享权限仍未生效”不能只看 Kerberos 缓存,还要区分三层状态:

AD 中的组成员关系
↓
当前登录会话的访问令牌
↓
Kerberos TGT / 服务票据与现有服务连接
↓
共享权限和 NTFS ACL

先确认 AD 中的成员关系:

Terminal window
Get-ADPrincipalGroupMembership -Identity qianyue |
Select-Object Name,GroupScope,GroupCategory
Name GroupScope GroupCategory
---- ---------- -------------
Domain Users Global Security
QYNET-File-Read Global Security

再检查当前登录令牌中的组:

Terminal window
whoami /groups | findstr /i "QYNET-File-Read"
QY\QYNET-File-Read Group S-1-5-21-...-1134 Mandatory group, Enabled by default, Enabled group

如果 AD 查询已经有新组,但 whoami /groups 中没有,新组尚未进入当前 Windows 登录令牌。klist purge 只清除 Kerberos 票据,不会重建当前桌面会话的本地访问令牌;注销并重新登录是最稳妥的方法。

对于网络资源,还可能存在已经建立的 SMB 会话。可以先关闭相关文件和窗口,再删除指定连接:

Terminal window
net use
Status Local Remote Network
-------------------------------------------------------------------------------
OK Z: \\QYNET-FS01\Public Microsoft Windows Network
net use \\QYNET-FS01\Public /delete
\\QYNET-FS01\Public was deleted successfully.

然后重新登录或重新建立连接。不要在用户仍有文件打开时强行删除生产共享连接。

排查顺序建议为:

  1. Get-ADPrincipalGroupMembership:AD 是否已经记录成员关系。
  2. whoami /groups:当前访问令牌是否包含该组。
  3. klist:当前会话是否仍持有修改前的票据。
  4. net use:是否存在旧的 SMB 连接。
  5. 检查共享权限和 NTFS ACL,并计算两者共同作用后的有效权限。
  6. 必要时注销并重新登录,不要把“清票据”当作刷新一切身份状态的替代品。

8.8 区分不同登录会话的票据#

票据属于登录会话,而不是简单地“属于这台计算机”。同一台计算机可能同时存在交互式用户、SYSTEM、Windows 服务、计划任务和远程登录等多个会话。

以管理员身份列出登录会话:

Terminal window
klist sessions
当前登录 ID 是 0:0x5e299
[0] 会话 0 0:0x5cf69 qy\QYNET-CORE01$ Kerberos:Network
[1] 会话 0 0:0x30658 NT SERVICE\MSSQL$MICROSOFT##WID Negotiate:Service
[2] 会话 0 0:0x3e4 qy\QYNET-CORE01$ Negotiate:Service
[3] 会话 0 0:0x5e299 qy\Administrator NTLM:Batch
[4] 会话 0 0:0x3e3 NT AUTHORITY\IUSR Negotiate:Service
[5] 会话 0 0:0x3e5 NT AUTHORITY\LOCAL SERVICE Negotiate:Service
[6] 会话 0 0:0x3e7 qy\QYNET-CORE01$ Negotiate:(0)

上面是实机输出的节选。0x5e299 是 VMware Tools 创建的 Administrator Batch 会话,0x3e7 是 SYSTEM 会话;两者拥有彼此独立的票据缓存。输出格式会因 Windows 版本和登录类型不同而变化。

找到目标 LUID 后,可以查询对应会话。下面的通用查询格式仅作说明:

Terminal window
# 查看当前用户指定登录会话的票据
klist -li <目标登录会话的 LUID>
# 输出属于指定 LUID,不一定属于当前命令窗口

本地 SYSTEM 的常见 LUID 是 0x3e7。在提升权限的终端中,可以检查计算机账户使用的票据:

Terminal window
# 检查本机 SYSTEM / 计算机账户的票据
klist -li 0x3e7
当前登录 ID 是 0:0x5e299
目标登录 ID 是 0:0x3e7
缓存的票证: (8)
#0> 客户端: qynet-core01$ @ QY.NET
服务器: krbtgt/QY.NET @ QY.NET
Kerberos 票证加密类型: AES-256-CTS-HMAC-SHA1-96
缓存标志: 0x2 -> DELEGATION
调用的 KDC: QYNET-CORE01
#1> 客户端: qynet-core01$ @ QY.NET
服务器: krbtgt/QY.NET @ QY.NET
Kerberos 票证加密类型: AES-256-CTS-HMAC-SHA1-96
缓存标志: 0x1 -> PRIMARY
调用的 KDC: QYNET-CORE01
#2> 客户端: qynet-core01$ @ QY.NET
服务器: cifs/QYNET-CORE01.qy.net @ QY.NET
Kerberos 票证加密类型: AES-256-CTS-HMAC-SHA1-96
调用的 KDC: QYNET-CORE01
#3> 客户端: qynet-core01$ @ QY.NET
服务器: DNS/qynet-core01.qy.net @ QY.NET
Kerberos 票证加密类型: AES-256-CTS-HMAC-SHA1-96
调用的 KDC: QYNET-CORE01

实机 SYSTEM 缓存共有 8 张票据,此处只节选 TGT、CIFS 与 DNS。其余还包括多张 LDAP 票据。

这对排查计算机组策略、计算机启动脚本和以 SYSTEM 身份运行的服务很有帮助。

Terminal window
# 高影响操作:清除 SYSTEM 会话票据
klist purge -li 0x3e7

本次没有执行上述命令。清除 SYSTEM 票据可能影响计算机身份访问域服务,不应当作普通客户端排障的第一步。必须确认目标 LUID,并在维护窗口内评估影响。

8.9 查看和刷新 KDC 绑定#

查看 Kerberos 客户端最近联系或优先使用的域控制器:

Terminal window
klist query_bind
当前登录 ID 是 0:0xac0d8
已成功查询 kerberos KDC 绑定缓存。
KDC 绑定缓存项: (1)
#0> RealmName: QY.NET
KDC 地址: QYNET-CORE01
KDC 名称: QYNET-CORE01
DC 标志: 0x80 -> CLOSEST_SITE
缓存标志: 0x80000000 -> LOCAL

实机结果表示当前会话联系的是本机 QYNET-CORE01,并且它被识别为最近站点的 KDC。

以下是清除或指定 KDC 绑定的操作示例,本次均未执行:

Terminal window
klist purge_bind
Current LogonId is 0:0x4a9f1
Kerberos binding cache purged.

然后重新定位 KDC:

Terminal window
nltest /dsgetdc:qy.net /KDC /force
DC: \\QYNET-CORE02.qy.net
Address: \\10.0.0.11
Flags: GC DS LDAP KDC TIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST
The command completed successfully

purge_bind 清理的是 KDC 绑定缓存,purge 清理的是 Kerberos 票据缓存,两者不是同一个操作。

在实验或定向排障中,还可以临时指定首选 KDC:

Terminal window
klist add_bind QY.NET QYNET-CORE02.qy.net
klist query_bind
QY.NET : QYNET-CORE02.qy.net

生产环境中不应长期依赖手工绑定掩盖站点、DNS、DC Locator 或复制故障,测试完成后应清除绑定并修复根因。

8.10 从事件日志验证票据申请#

本节日志输出为查询格式示例,本次没有采集或修改安全审核策略。

域控制器安全日志中,与票据最相关的事件有:

事件 ID含义典型排查方向
4768请求 TGT用户、预身份验证、KDC、加密类型
4769请求服务票据目标 SPN、服务账户、加密类型、失败码
4771Kerberos 预身份验证失败密码、时间、证书或预身份验证问题
4776NTLM 凭据验证判断应用是否回退到 NTLM

在 DC 上查询最近一小时的票据事件:

Terminal window
$startTime = (Get-Date).AddHours(-1)
Get-WinEvent -FilterHashtable @{
LogName = "Security"
Id = 4768,4769,4771
StartTime = $startTime
} |
Select-Object TimeCreated,Id,MachineName,Message
TimeCreated Id MachineName Message
----------- -- ----------- -------
2026/9/22 10:18:31 4769 QYNET-CORE01.qy.net A Kerberos service ticket was requested....
2026/9/22 10:18:30 4768 QYNET-CORE01.qy.net A Kerberos authentication ticket (TGT) was requested....

按账户或 SPN 缩小范围:

Terminal window
Get-WinEvent -FilterHashtable @{
LogName = "Security"
Id = 4769
StartTime = $startTime
} |
Where-Object Message -Match "qianyue|cifs/QYNET-FS01" |
Select-Object TimeCreated,Id,Message

查询安全日志通常需要管理员权限,并且只有启用相应的高级审核策略后,DC 才会记录所需事件。

8.11 常见票据故障案例#

以下案例均为教学场景,不是本次 VM 的实机故障。

案例一:用户已加入共享组,但仍然拒绝访问#

Terminal window
Get-ADPrincipalGroupMembership qianyue |
Where-Object Name -eq "QYNET-File-Read"
DistinguishedName : CN=QYNET-File-Read,OU=Group,OU=Organization,DC=qy,DC=net
GroupCategory : Security
GroupScope : Global
Name : QYNET-File-Read
whoami /groups | findstr /i "QYNET-File-Read"
# 没有输出

结论:AD 已有成员关系,但当前登录令牌还没有新组。优先注销并重新登录,然后重新建立共享连接;若仍失败,再检查共享 ACL 与 NTFS ACL。

案例二:klist get 成功,但访问 Web 服务仍然返回 401#

Terminal window
klist get HTTP/testweb.qy.net
A ticket to HTTP/testweb.qy.net has been retrieved successfully.
setspn -F -Q HTTP/testweb.qy.net
Existing SPN found!
CN=svc_testweb,OU=Service Accounts,DC=qy,DC=net
HTTP/testweb.qy.net
Get-CimInstance Win32_Service -ComputerName TESTWEB |
Where-Object Name -eq "TestWebService" |
Select-Object Name,StartName,State
Name StartName State
---- --------- -----
TestWebService QY\svc_oldweb Running

结论:KDC 按 SPN 为 svc_testweb 签发了票据,但服务实际以 svc_oldweb 运行,无法使用正确密钥解密。应确认业务设计后统一 SPN 所有者与服务运行身份,不能靠反复清票据修复。

案例三:使用 IP 可以连接,却没有 Kerberos 服务票据#

Terminal window
dir \\10.0.0.30\Public
klist | findstr /i "cifs"
# 没有目标 CIFS 票据

Kerberos 依赖 SPN,客户端通常应使用与 SPN 匹配的主机名或 FQDN:

Terminal window
dir \\QYNET-FS01.qy.net\Public
klist | findstr /i "cifs"
Server: cifs/QYNET-FS01.qy.net @ QY.NET

使用 IP、未注册的别名或不匹配的名称时,应用可能回退到 NTLM,也可能直接认证失败。能访问不等于已经使用 Kerberos。

案例四:票据时间看似正常,但认证报时间偏差#

Terminal window
w32tm /stripchart /computer:QYNET-CORE01.qy.net /samples:5 /dataonly
Tracking QYNET-CORE01.qy.net [10.0.0.10:123].
Collecting 5 samples.
The current time is 9/22/2026 11:24:10.
11:24:10, +00.0008123s
11:24:12, +00.0007311s
11:24:14, +00.0006948s

如果偏差明显,应先修复 Windows 时间层级、PDC Emulator 的外部时间源或客户端同步问题,再重新申请票据。不要通过放宽 Kerberos 时间容差长期掩盖时间同步故障。

8.12 Kerberos 票据排查顺序#

遇到“登录正常,但访问某个域服务失败”时,可以按以下顺序检查:

  1. whoami:确认当前实际使用的账户。
  2. Resolve-DnsName:确认访问名称解析到正确目标。
  3. nltest /dsgetdc:<域> /KDC:确认客户端能找到 KDC。
  4. w32tm /query /status:确认时间源与同步状态。
  5. setspn -F -Q <SPN>:确认 SPN 存在、唯一并属于正确账户。
  6. klist tgt:确认当前登录会话拥有有效 TGT。
  7. klist get <SPN>:主动验证 KDC 能否签发服务票据。
  8. klist:确认客户端实际缓存了目标服务票据。
  9. 检查服务实际运行身份与服务账户密码。
  10. 检查 4768、4769、4771 以及服务端日志。
  11. 修复根因后再执行 klist purge,重新访问并验证。
  12. 如果问题是新增组权限,同时检查访问令牌、旧连接和资源 ACL;必要时注销重登。

应始终明确 klist 是在哪台计算机、哪个用户和哪个登录会话中执行的。客户端、服务端、SYSTEM 和远程 PowerShell 会话可能拥有完全不同的票据缓存。

8.13 本节常用命令速查#

命令作用
klist查看当前登录会话缓存的全部 Kerberos 票据
klist tickets与默认 klist 相同,列出 TGT 和服务票据
klist tgt只查看当前 TGT 的详细信息
klist get <SPN>主动请求指定 SPN 的服务票据
klist purge清空当前登录会话的全部票据
klist sessions列出本机登录会话及其 LUID
klist -li <LUID>查看指定登录会话的票据
klist query_bind查看缓存的首选 KDC 绑定
klist purge_bind清除 KDC 绑定缓存
klist add_bind <域> <KDC>临时指定某个域的首选 KDC
klist kcd_cache查看 Kerberos 约束委派缓存

票据排障的关键不是“看见 Kerberos 就清缓存”,而是先确认当前登录会话、目标 SPN、KDC、服务身份和资源权限,再用重新获取票据验证修复结果。

参考资料#


上一篇:Windows AD PowerShell(七):DNS、SPN 与 Kerberos 排障

下一篇:Windows AD PowerShell(九):时间同步

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Windows AD PowerShell(八):Kerberos 与票据
https://springtsuki.xucjno.com/posts/springtsuki/notes/windowsad/powershell/922-kerberos/
作者
SpringTsuki
发布于
2026-09-22
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
SpringTsuki
你好,我是浅月。
公告
浅月的开发小窝!欢迎你来到这里!
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
56
分类
9
标签
42
总字数
188,888
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录