我想在Mac上获得首选域控制器名称/地址,使用C / Objective-C以编程方式加入Active Directory(带域控制器的MS Windows Server) . 现在更好的解决方案是解析 dsconfigad -show 命令行实用程序的输出,其中包含以下行:

Advanced Options - Administrative
  Preferred Domain controller    = 192.168.XXX.XXX

我已经尝试过Open Directory API,因为它建议使用here,但它无法访问远远超过域名全名的节点:

// domainNode: "/Active Directory/MYDOMAIN/mydomain.local"
NSArray *domainSubNodes = [domainNode subnodeNamesAndReturnError:&err];
[domainSubNodes count]; // count is 0

我是否需要执行某种授权才能访问域的子节点以及如何执行它?是否有任何posix / BSD函数可以从纯C代码获取域控制器名称?