在我的程序中,我正在尝试检索当前计算机的域名。 我找到了一些人们在论坛中写的代码,但它们似乎都是部分工作的。
我的意思是我的域名类似于' mydomain.mydomain11.com' 当我试图检索域名时,我总是只得到“mydomain'而不是&mydomain.mydomain11'
我也尝试过使用“GetEnvironmentVariable”'函数返回相同的东西。
如果可能,我想知道如何检索完整路径。
我的最终目标是使用LDAP协议查询活动目录,因此它将真正有助于了解如何将域路径分块为:
CN=Users,DC=mydomain,DC=mydomain11,DC=com
但获取我的完整域名现在可以做..
答案 0 :(得分:3)
您可以将GetComputerNameEx功能与from t1 in Table1 join t2 in Table2 on t1.field1 = t2.field2 select new {t1.field1, t1.field2, t2.field3}
参数一起使用:
分配给本地计算机的DNS域的名称。如果本地计算机是群集中的节点,则lpBuffer将接收本地计算机的DNS域名,而不是群集虚拟服务器的名称。
如果您的目标是连接到LDAP以搜索目录中的对象,通常的方法是连接到RootDSE。这是一个example。
答案 1 :(得分:-1)
ref What's the best method for getting the local computer name in Delphi
ref http://www.delphipages.com/forum/showthread.php?t=29823 在洛安(LorAn)之下,发音为洛恩(Lorne)-获取的绝佳框架
在Delphi变量MAXCHAR中滚动以获取缓冲区大小,应该是可以在最短时间内返回的最大大小
function getDomain: string;
var
vlDomainName : array[0..MAXCHAR] of char;
vlSize : ^DWORD;
begin
New(vlSize);
vlSize^ := MAXCHAR;
ExpandEnvironmentStrings(PChar('%USERDOMAIN%'), vlDomainName, vlSize^);
Dispose(vlSize);
Result := vlDomainName;
end;
要获取DNSServer.DOMAIN.DOMAIN ..
使用ADSI库ADSystemInfo GetAnyDCName()函数并在小数点[。]上分割