im正在从事凭据提供程序的工作,并遇到以下问题:
当桌面锁定在终端服务器上并且密码过期时,CP似乎无法更改密码。
我可以确定必须在ReportResult()
中更改密码,然后打开一个对话框,询问新密码并打包一个KERB_CHANGEPASSWORD_REQUEST
并交到GetSerialization()
中。当用户最初登录(CPUS_LOGON)时,此方法有效。
但是在CPUS_UNLOCK_WORKSTATION
中(当用户已经登录时)在交出ntsStatus (which is 0xC0000224)
ReportResult()
中又得到了相同的KERB_CHANGEPASSWORD_REQUEST
所以我想知道是否有人知道这两种情况之间的区别-logonUI是否期望除KERB_CHANGEPASSWORD_REQUEST之外的其他程序包?
我还尝试将GetSerializationResponse "status"
的{{1}}设置为CPGSR_RETURN_CREDENTIAL_FINISHED
(在技术参考中,它被认为是密码更改完成的指示,但是那可能是{{1} }。
正在测试的安装程序是带有Win2016 DC的Win2012 R2终端服务器。
感谢您的帮助,谢谢!