我试图使用System.DirectoryServices .NET Framework类库访问Active Directory域服务(ADDS)。System.DirectoryServices中的目录同步参数无例外
使用LDAP协议,我想是有这个LDAP过滤办公室设定值属性的所有DirectoryEntries (physicalDeliveryOfficeName = *),然后我想在同步饼干写入文件以备将来参考就像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.DirectorySynchronization = new DirectorySynchronization();
我得到一个System.ArgumentNullException每当我打电话ds.FindAll()。知道每当我评论同一行代码时,我都会得到一个没有问题的搜索结果。
我希望我的声音够清楚。 出于某种原因,我觉得这个领域有一点文件。我真的找不到对此的解释。