我最后一次谈论我的域名服务器?

我的应用程序如何从Windows获取有效的“最后一次连接到域”时间戳,即使应用程序正在脱机运行?

背景:我正在编写在我公司的多台客户机上运行的应用程序。 所有这些客户端机器都在我公司实施的AD域之一上。 如果客户机没有与AD通信一段时间,则该应用程序需要采取一定的措施。

一个例子可能是运行这个应用程序的机器被盗。 例如4周后,应用程序拒绝工作,因为它检测到机器已经与AD域进行了4周的通信。

请注意,这不能绑定到用户帐户,因为该应用程序可能作为本地服务帐户运行。 这是我感兴趣的计算机领域的关系。

我已经考虑并拒绝使用WinNT://<domain>/<machine>$,user因为脱机时它不起作用。 而且,任何LDAP://...查找在脱机时都不起作用。

我也考虑并拒绝每天安排这个查询,并将时间戳存储在registry或文件中。 这个解决scheme需要太多的设置和编码。 除了这个值只是必须存储在本地的Windows。

我不相信这个值存储在客户机上。 它存储在Active Directory中,您可以使用Dsquery工具获取不活动机器的列表。

最好的选择是让你的程序做一个简单的测试,例如连接到DC,然后存储该操作的时间戳。

恕我直言,我不认为客户端机器会存储上次与AD沟通的时间戳。 该信息存储在活动目录本身(即在DC上)

一旦用户登录说Windows机器的证书被缓存。 如果该机器与网络断开连接,证书将永远持续。 您可以使用组策略关闭此功能,以便机器不会缓存任何凭据。