加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在成员计算机未使用C连接到DC时获取其名称

发布时间:2020-12-16 07:03:07 所属栏目:百科 来源:网络整理
导读:我通常会通过调用以下命令获取Active Directory网络上成员计算机的可分辨名称: TCHAR buff[256];buff[0] = 0;DWORD dwSz = SIZEOF(buff);GetComputerObjectName(NameFullyQualifiedDN,buff,dwSz); 但是当该成员计算机当前未连接到DC时会出现问题.例如,如果
我通常会通过调用以下命令获取Active Directory网络上成员计算机的可分辨名称:

TCHAR buff[256];
buff[0] = 0;
DWORD dwSz = SIZEOF(buff);
GetComputerObjectName(NameFullyQualifiedDN,buff,&dwSz);

但是当该成员计算机当前未连接到DC时会出现问题.例如,如果我将我的工作笔记本电脑带回家,它将无法访问我们工作的本地AD,并且GetComputerObjectName将失败. (我相信错误代码为1355或ERROR_NO_SUCH_DOMAIN.)

所以我的问题是,有没有办法在这种情况下获得成员计算机的专有名称?

解决方法

如果你不介意我说,我认为你想要做的事情有些缺陷.

仅当成员计算机连接到域时,FQDN才真正有效.如果您已脱机登录计算机(从您的描述中我认为必须如此),则不再将计算机视为在域上具有FQDN.

毕竟,当你离线时,一些狡猾的系统管理员可能会在AD中移动机器的帐户,以便下次从它登录域时,它的FQDN已经改变.

您引用的注册表项确实提供了FQDN,但是,当机器处于脱机状态时,我认为应该将其视为最后记录值的缓存.

如果我是你,我将处理GetComputerObjectName()抛出的异常,并使用像gethostname()这样的东西.

干杯,伊恩.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读