2013-06-05 39 views
1

我知道Windows工作组和iwant获取我的Mac的工作组。正如我看到Open Directory directory domain name on Mac OS X但无法摆脱我的问题。 我希望找到我的Mac的工作组(如Windows)。 请给我一些代码示例,以解决方案。 我想要域名desribed在 http://windows.microsoft.com/en-in/windows7/what-is-the-difference-between-a-domain-a-workgroup-and-a-homegroup 建议欢迎。 在此先感谢。Mac os x获取域名programmaticaly

+0

的SMB配置存储在字典中“状态:/网络/全局/ SMB“ - 您可以使用'scutil'和'show state:/ Network/Global/SMB'通过CLI访问它,数据是SystemConfiguration框架的一部分。 – Petesh

+0

@hPetesh谢谢它真的按预期工作。这对我来说已经足够了,但是如果你在对象C中给我编程解决方案,我会很感激你的帮助。(如果可能的话):) – Dhiraj

+0

用户很早就回答问题并分享知识是非常好的。对于上述问题,如果有人有程序化的解决方案,请为方便起见。这将有所帮助。 – Dhiraj

回答

6

系统配置框架是一个C API,所以这是一个有点乱,但这个应该工作确定无泄漏:

#import <SystemConfiguration/SCNetworkConfiguration.h> 

SCDynamicStoreRef storeRef = SCDynamicStoreCreate(NULL, (CFStringRef)@"GetWorkgroup", NULL, NULL); 
CFPropertyListRef global = SCDynamicStoreCopyValue (storeRef,CFSTR("State:/Network/Global/SMB")); 
id workgroup = [(__bridge NSDictionary *)global valueForKey:@"Workgroup"]; 
NSLog(@"Workgroup: %@", workgroup); 
CFRelease(global); 
CFRelease(storeRef); 
+0

非常感谢。我想知道你为什么不在你的个人资料中添加目标c。当我发布你的回答时,我看到了你的个人资料。这就是为什么我为所有人转贴。但我认为你应该把目标c添加到你的个人资料中。最后它是你的选择。非常感谢您的回答。 – Dhiraj