我什么时候上次与我的域名服务器通话?

时间:2008-09-15 14:21:08

标签: windows active-directory

即使应用程序脱机运行,我的应用程序如何从Windows获得有效的“上次连接到域”时间戳?

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

一个例子可能是运行此应用程序的计算机被盗。例如4周后,该应用程序拒绝工作,因为它检测到该机器未与其AD域通信4周。

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

我已考虑并拒绝使用WinNT://<domain>/<machine>$,user,因为它在离线时无效。此外,任何LDAP://...查找都无法在离线时使用。

我还考虑并拒绝每天安排此查询并将时间戳存储在注册表或文件中。该解决方案需要过多的设置和编码。除了这个值,只需要由Windows本地存储。

2 个答案:

答案 0 :(得分:1)

我不相信此值存储在客户端计算机上。它存储在Active Directory中,您可以使用Dsquery工具获取非活动计算机列表。

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

答案 1 :(得分:0)

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

用户登录说Windows机器后,将缓存凭据。如果该计算机与网络断开连接,则凭据将永久保留。您可以使用组策略关闭此功能,以便计算机不会缓存任何凭据。