有谁知道如何清除本地计算机上的 Kerberos 票证缓存 - 使用托管 \unmanaegd 代码?
提前致谢!
我相信您需要在使用LsaConnectUntrusted或LsaRegisterLogonProcess之后使用KERB_PURGE_TKT_CACHE_REQUEST调用LsaCa llAuthenticationPackage。抱歉没有具体细节,但我没有我的代码......
最简单的方法是拿微软的KList的源代码(包含在平台SDK\Samples中),然后像他们一样做...
在https://github.com/ErtiEelmaa/StackOverflow/blob/master/GroupPolicyUtilities.cs有一个使用 pInvoke 清除 kerberos 票证的“托管 C#”示例
太长了,无法在此处复制/粘贴。由于 pInvoke 中的结构无效(例如,有人虽然 C++ LONG 等于 C# LONG 和 yada-yada),所以花了一些时间,但是,我已经测试了这个,它对我有用。
另外,我注意到 Windows server 2003 klist.c在 PurgeTicket 中几乎没有错误: