C# 用の LDIF パーサーを探しています。オブジェクトを追加する前にオブジェクトが存在しないことを確認できるように、LDIF ファイルを解析しようとしています。ntdsSchemaAdd を使用して既に存在する場合にそれらを追加すると、エラー ログにエントリが記録されます。
2 に答える
簡単なウェブ検索で明らかになった: http://wiki.github.com/skradel/Zetetic.Ldap/。彼らは .net API を提供しています。
ページから:
Zetetic.Ldap は .NET 2 以降用の .NET ライブラリであり、ディレクトリ サーバー (Active Directory、ADAM、Red Hat Directory Server など) の操作を容易にします。Zetetic.Ldap の主な機能の一部は次のとおりです。
1.LDIF ファイルの解析と生成 – ディレクトリ システム間でデータを移動するために使用されるファイル形式の読み取りと書き込み
2.変更追跡機能を備えた LDAP エントリー指向の API – より自然な方法でディレクトリ オブジェクトを作成および変更する
3.LDAP スキーマの調査 – ディレクトリ サーバーが認識する種類のオブジェクトとフィールドへのプログラムによる迅速なアクセス。属性が文字列、数値、日付などであるかどうかを、手動で調査したり再解析したりすることなく学習します
4.LDIF Pivoter – LDIF ファイルを (コンマまたはタブ区切りの) フラット ファイルに変換して、分析または LDIF を使用しないシステムにロードします。他の人にも役立つことを期待して、ここでリリースしてください。私たちの知る限り、これは LDIF 仕様を本当に理解している唯一の .NET ライブラリです。
ダウンロードリンク: http://github.com/downloads/skradel/Zetetic.Ldap/Zetetic.Ldap_20090831.zip
私はそれを自分で解析します。
EBNFのLDIF RFCを見ると、それほど複雑な文法ではないことがわかります。
正規表現を確実に使用する前に、大量の LDIF を解析しました。走行距離は異なる場合がありますが。