を設定したプロパティのためのActive Directoryを照会しないようにする方法:System.DirectoryServices - 機密ビットが、私はそうのような個人またはグループのためのDirectoryEntriesを照会するDirectoryServicesを使用してい
var propsToLoad = new string {"sAMAccountName","objectClass", "memberOf", "distinguishedName", "manager","mail","name","objectCategory"};
DirectoryEntry dEntry = new DirectoryEntry("LDAP://<MyDomainController>/DC=foo,FC=com","user","pass");
DirectorySearcher dSearch = new DirectorySearcher(dEntry, "(&(|(objectClass=person)(objectClass=group))
(samAccountName=jsmith))", propsToLoad);
var searchResult = s.FindOne();
var searchResultDirEntry = result.GetDirectoryEntry();
問題私がいますSearchResult
のDirectoryEntry
を取得する上記の呼び出しが、私が照会しているものより多くのプロパティを取得しているということです。 デバッグ中にsearchResult
の上にカーソルを置くと、8個のプロパティが含まれていますが、をsearchResult
というクエリで呼び出すと、 のプロパティ(約77-80個以上のプロパティ値)が呼び出されます。
本当の問題は、それはまた、その「機密ビット」DCの監査障害を引き起こすような「UnixUserPassword」 として設定されている特性のために照会されることです。
機密ビットセットを有する任意のプロパティを照会OR result.GetDirectoryEntry();
に関して 私の「propsToLoad」を持っているだけで、私はDirectorySearcher
に指定したプロパティのプロパティ値を取得しないように指定する方法はあります。
"System.DirectortyServices"名前空間内でこれを行う例はありますか? –
私が言ったように、ADSIはスキーマ反射の仕組みに基づいてこれを制御することはできません。 –
私は、単にPropertyValuesのSearchResultに問い合わせるのではなく、 –