System.DirectoryServicesを使用してActive Directoryドメインサービス(ADDS)にアクセスしようとしています。 LDAPプロトコルを使用してSystem.DirectoryServices内のディレクトリ同期ArgumentNull例外
は、私は、このLDAPフィルタ(physicalDeliveryOfficeName = *)とオフィス設定値の属性を持つすべてのDirectoryEntriesを取得したいし、私は、ファイルに同期cookieを書きたいですただDirectorySynchronization msdn example article
に示す例のように、将来の参照のためにここに私のコードです:
using (DirectoryEntry de = new DirectoryEntry("LDAP://myDomain.com/OU=Test,DC=myDomain,DC=com"))
{
using (var ds = new DirectorySearcher(de))
{
ds.PropertiesToLoad.Add("distinguishedName");
ds.SearchScope = SearchScope.Subtree;
ds.Filter = "(physicalDeliveryOfficeName=*)";
ds.DirectorySynchronization = new DirectorySynchronization();
SearchResultCollection searchResultCollection = ds.FindAll();
foreach (SearchResult result in searchResultCollection)
{
var dn = (string)result.Properties["distinguishedName"][0];
//do Something
}
var cookie = ds.DirectorySynchronization.GetDirectorySynchronizationCookie();
File.WriteAllBytes(@"location", cookie);
}
}
たびに私はds.FindAll()を呼び出したときに、私はSystem.ArgumentNullExceptionを取得し、このコード
ds.DirectorySynchronization = new DirectorySynchronization();
を実行します。同じコード行にコメントするたびに、問題なく検索結果が得られます。
私は十分にはっきりと響きたいと思います。 何らかの理由で、私はこのフィールドにはほとんどドキュメントがないことがわかります。私は本当にこれの解釈を見つけることができません。