Delphi- 如何获取我的完整域名
Delphi- How to get my full domain name
在我的程序中,我试图检索当前机器的域名。
我发现了一些人们在论坛上写的代码,但它们似乎都部分起作用。
我的意思是我的域名类似于 'mydomain.mydomain11.com'
在尝试检索域名时,我总是只得到 'mydomain' 而不是 'mydomain.mydomain11'
我也试过使用 'GetEnvironmentVariable' 函数,returns 同样的事情。
如果可能的话,我想知道如何获取完整路径。
我的最终目标是使用 LDAP 协议查询活动目录,所以了解如何将域路径分块到类似这样的东西真的很有帮助:
CN=Users,DC=mydomain,DC=mydomain11,DC=com
但现在获取我的完整域名就可以了..
您可以使用带有 ComputerNamePhysicalDnsDomain
参数的 GetComputerNameEx 函数:
分配给本地计算机的 DNS 域的名称。如果本地计算机是集群中的一个节点,lpBuffer 接收本地计算机的 DNS 域名,而不是集群虚拟服务器的名称。`
如果您的目标是连接到 LDAP 以搜索目录中的对象,通常的方法是连接到 RootDSE。这是一个 example.
ref What's the best method for getting the local computer name in Delphi
参考 http://www.delphipages.com/forum/showthread.php?t=29823
在 LorAn 下,发音为 Lorne - 很棒的 fetch 框架
在缓冲区大小的 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() 函数并按小数点拆分 [.]
在我的程序中,我试图检索当前机器的域名。 我发现了一些人们在论坛上写的代码,但它们似乎都部分起作用。
我的意思是我的域名类似于 'mydomain.mydomain11.com' 在尝试检索域名时,我总是只得到 'mydomain' 而不是 'mydomain.mydomain11'
我也试过使用 'GetEnvironmentVariable' 函数,returns 同样的事情。
如果可能的话,我想知道如何获取完整路径。
我的最终目标是使用 LDAP 协议查询活动目录,所以了解如何将域路径分块到类似这样的东西真的很有帮助:
CN=Users,DC=mydomain,DC=mydomain11,DC=com
但现在获取我的完整域名就可以了..
您可以使用带有 ComputerNamePhysicalDnsDomain
参数的 GetComputerNameEx 函数:
分配给本地计算机的 DNS 域的名称。如果本地计算机是集群中的一个节点,lpBuffer 接收本地计算机的 DNS 域名,而不是集群虚拟服务器的名称。`
如果您的目标是连接到 LDAP 以搜索目录中的对象,通常的方法是连接到 RootDSE。这是一个 example.
ref What's the best method for getting the local computer name in Delphi
参考 http://www.delphipages.com/forum/showthread.php?t=29823 在 LorAn 下,发音为 Lorne - 很棒的 fetch 框架
在缓冲区大小的 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() 函数并按小数点拆分 [.]