2012-02-22 17 views
3

このコマンドは:dsconfigad -show私は必要なのですが、実行するには管理者権限が必要です。私はActive Directory Domainはプログラム的に上で見得ることができるようにしたい、そして好ましくはsudoの権限を持つことなく、思いMac OS XマシンがActive Directoryドメインにバインドされているかどうかをプログラムで確認するにはどうすればよいですか?

You are bound to Active Directory: 
     Active Directory Forest  = xx.xxxxxx.local 
     Active Directory Domain  = xx.xxxxxx.local 
     Computer Account    = (computer name) 

上記のコマンドは、私が興味いくつかの情報を出力します。

提案がありますか?私はOpen Directoryのドキュメントを閲覧しましたが、これを行う方法は私には完全にはっきりと分かりません。私はまた、成功のない何かのために広告を照会するためにいくつかのコード例を試しました...私はそれに取り組むつもりですが、私はここに誰かが共有するためにいくつかの知識を持っていたと思っていた。

答えて

1

ノード認証がなければ、少なくともアクティブなODプラグインを見てADがバインドされているかどうかを確認する必要があります。バインドされているとADを含める必要があります。それはしてもしなくてもよい(一般的に、それはLDAPのために行いますが、私はあなたの走行距離は変更になる場合がありますので、ここでテストするためのADを持っていない)ドメインが表示されることがあります

#include <Foundation/Foundation.h> 
#include <OpenDirectory/OpenDirectory.h> 

int main(int ac, char **av) { 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    ODSession *mySession = [ODSession defaultSession]; 
    NSError *err = 0; 
    NSArray *nodeNames = [mySession nodeNamesAndReturnError:&err]; 
    if (err) NSLog(@"error: %@", err); 
    if (nodeNames) NSLog(@"nodes: %@", nodeNames); 
    [pool release]; 
    return 0; 
} 
+0

このコードは、[Appleのドキュメント]を例にもあります( https://developer.apple.com/library/mac/#documentation/networking/Conceptual/Open_Directory/workingWithNodes/workingWithNodes.html#//apple_ref/doc/uid/TP40000917-CH5-SW1)と私はすでに印刷を試みましたそれはあなたが説明したようなものです。 "/ Active Directory/All Domains" - これからノードオブジェクトを作成できますが、クエリがそのノードに対して機能していないようです。私はそれ以来、別の方法を見つけて、それを試して報告して戻ってきます。 – Jon

関連する問題