【问题标题】:When did I last talk to my Domain Server?我上次与我的 Domain Server 通话是什么时候?
【发布时间】:2008-09-15 14:21:07
【问题描述】:

我的应用如何从 Windows 获取有效的“上次连接到域”时间戳,即使应用离线运行?

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

例如,运行此应用的机器被盗。例如之后4 周,应用程序拒绝工作,因为它检测到机器已经 4 周没有与其 AD 域通信。

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

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

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

【问题讨论】:

    标签: windows active-directory


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-14
        • 1970-01-01
        • 2011-08-11
        • 2017-03-26
        • 1970-01-01
        • 2011-04-05
        • 2011-04-23
        相关资源
        最近更新 更多