如何确定我的程序是否属于“公司域名”

时间:2013-04-20 02:14:17

标签: c++ windows networking active-directory

我正在尝试确定我的服务目前是否已连接到公司域。

我试过

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

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

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

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

是否有一种漂亮,干净的方法来确定计算机是否在“公司网络”上(例如,可以连接到AD)。

1 个答案:

答案 0 :(得分:0)

检查DCs SYSVOL共享的可用性。

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

如果在公司Lan上,但DC不可用,您可能也可以离线...