【发布时间】:2020-07-17 18:58:16
【问题描述】:
我想获取绑定到我的活动目录服务器的所有可用网络域。
从命令行我使用odutil show nodenames 检索:
Name State Refs Type External Locked Hidden
--------------------------------------------- ------ ---- ------------ -------- ------ ------
/Active Directory Online 3 X X
/Active Directory/TEST 10
/Active Directory/TEST/All Domains Online 4 Virtual node
/Active Directory/TEST/Global Catalog Online 6 Virtual node X
/Active Directory/TEST/domain.com Online 6 Virtual node X
/Configure Online 2 X X
/Contacts Online 3
/LDAPv3 Online 1 X X
/Local Online 2 X X
/Local/Default Online 36 X
/Search Online 19
我只关心基于 Active Directory 的节点,因为我只想列出连接到这些节点的所有域。
在上面的例子中,/Active Directory/myserver/Global Catalog 和 /Active Directory/myserver/domain.com 都被隐藏了。
不幸的是,我找不到从命令行输出中获取标记为隐藏节点的方法。也许有人知道怎么做?
我迭代这些节点的代码是:
ODNode * node = [ODNode nodeWithSession:[ODSession defaultSession]
type:kODNodeTypeAuthentication error:nil];
NSArray * subnodes = (__bridge NSArray *)ODNodeCopySubnodeNames((__bridge ODNodeRef)node, NULL);
仅检索非隐藏节点:/Active Directory/myserver/All Domains
编辑:
在 windows 中有一个专门的命令提取本地计算机的域:
GetComputerNameExW(ComputerNameDnsDomain, domainName, &dwSize))
我希望找到 macOS 的替代方案。
【问题讨论】:
标签: objective-c macos active-directory