移転中~(.Net,ADSI)識別名(DN)のエスケープActiveDirectoryというかLDAPの仕様だと思うんですが、重複した識別名(DN)のオブジェクトは作成できません。.Netから新規ActiveDirectoryユーザを作成するツールを作ったんですが、DNの重複チェックができていませんでした。(ログインアカウント名の重複チェックはできてたんですけどね。)それで、新規作成するユーザ名からDNを生成して、それがActiveDirectoryに存在するかどうかのチェックをすることにしました。単純にユーザ名、OU名、ドメイン名からDNを生成して、生成されたDNが既にあるかどうかをチェックすればいいだけなんですが、どうやらDNにはエスケープすべき特殊文字があるようです。それは、「#」、「,」、「+」、「"」、「\」、「<」、「>」、「;」のようです。いうことで、ユーザ名を¥でエスケープしてActiveDirectoryから検索するコードを書いてみました。(C#)(既にOU名とドメイン名は分かってることとします。drSearch.FindAll();//見つからなければnullを返す。//見つかった時の処理}特殊文字をエスケープする部分は正規表現を使って置換しています。メソッドを使えばいいようです。指定すると、パターンで引っ掛かった文字を使うことができるようです。久しぶりに正規表現つかましたが、しょっちゅう触ってないと難しいですね。したら、エスケープしてくれるようなメソッドがあるのかもしれませんが、見当たらなかったので今回は手で書きました。情シスで何でも屋の三流プログラマのコーディング、サーバ管理、PC生活関係のメモ書き。このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。29検索カテゴリ全体Linuxサーバがらみ.Net開発PHP開発C/C++開発JavaSQLツール思ったこととかニュースとか。メッセージを入力してください。