[C#] AD のオブジェクトを SID で検索する。

Active Directory のオブジェクトを DirectorySearcher を使って取り出す場合、SID (objectSid) を検索条件に指定するには以下のようにする。
複数の SID を指定する場合には若干書き方が変わる。
var directoryPath = "TEST-SV/OU=Hoge,DC=Hoo,DC=local";
var userName = @"Hoo\Administrator";
var password = "hogehoge";
using (var searcher = new DirectorySearcher(CreateDirectoryEntry(directoryPath, userName, password)))
{
    // 一つのみ指定する場合。
    searcher.Filter = ("(objectSid=S-9-9-99-999999999-9999999999-9999999999-1000)");
    // 複数指定する場合。
    searcher.Filter = ("(|(objectSid=S-9-9-99-999999999-9999999999-9999999999-1000)(objectSid=S-9-9-99-999999999-9999999999-9999999999-1001))");
    var result = searcher.FindAll();
    return result;
}

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック