2013-04-20 48 views
0

我试图确定我的服务目前是否连接到公司域。如何确定我的程序是否在'公司域'

我试图

BOOL bResult = LogonUser(m_userName, m_domainStr, m_password, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &userHandle); 

但如果凭据是好的,则返回true。

我猜测Windows正在检查缓存的凭据并确定它们是好的。

我想我可以使用Ping,但防火墙也会阻止。

是否有一个很好的,干净的方式来确定计算机是否在'公司网络'(例如可以连接到AD)。

回答

0

检查DCs SYSVOL共享的可用性。

我会查询DNS的DC列表,然后通过DC循环,直到我可以访问共享。如果可以,我在线。如果我不能,我就离线了。

如果在公司局域网上,但是数据中心不可用,那么您可能也会离线...

+0

这听起来像是应该可以正常工作。谢谢。 – Iunknown 2013-04-23 21:18:13

+0

不客气。 – Daro 2013-04-23 22:09:32