2013-06-05 99 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