Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 目录服务组查询随机更改_C#_.net_Active Directory_Directoryservices - Fatal编程技术网

C# 目录服务组查询随机更改

C# 目录服务组查询随机更改,c#,.net,active-directory,directoryservices,C#,.net,Active Directory,Directoryservices,我在asp.net应用程序中收到一个异常行为。我有一段代码,它使用目录服务查找给定的、经过身份验证的用户的广告组。代码有点像 string username = "user"; string domain = "LDAP://DC=domain,DC=com"; DirectorySearcher search = new DirectorySearcher(domain); search.Filter = "(SAMAccountName=" + username + ")"; 然后我查询并

我在asp.net应用程序中收到一个异常行为。我有一段代码,它使用目录服务查找给定的、经过身份验证的用户的广告组。代码有点像

string username = "user";
string domain = "LDAP://DC=domain,DC=com";
DirectorySearcher search = new DirectorySearcher(domain);
search.Filter = "(SAMAccountName=" + username + ")";
然后我查询并获得给定用户的组列表。问题是代码接收到的组列表是字符串列表。随着我们最新发布的软件,我们开始以字节[]的形式接收组列表

系统将返回字符串,突然返回字节[],然后在重新启动时再次返回字符串

有人有什么想法吗

(marc_s)添加了代码示例:

DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + ldapSearchBase); 
DirectorySearcher userSearcher = new DirectorySearcher(dirEntry) 
  { SearchScope = SearchScope.Subtree, 
    CacheResults = false, 
    Filter = ("(" + txtLdapSearchNameFilter.Text + "=" + userName + ")")
  }; 

userResult = userSearcher.FindOne(); 
ResultPropertyValueCollection valCol = userResult.Properties["memberOf"]; 

foreach (object val in valCol) 
{ 
    if (val is string) 
    {
        distName = val.ToString();
    } 
    else 
    { 
        distName = enc.GetString((Byte[])val); 
    }
}

您能否提供更多的源代码,特别是您从SearchResultCollection中读取的部分//我无法编辑问题,简要代码:DirectoryEntry dirEntry=new DirectoryEntry(“LDAP://”+ldapSearchBase);DirectorySearcher userSearcher=new DirectorySearcher(dirEntry){SearchScope=SearchScope.Subtree,CacheResults=false,Filter=(“(“+txtLdapSearchNameFilter.Text+”=“+userName+”);userResult=userSearcher.FindOne();ResultPropertyValueCollection valCol=userResult.Properties[“memberOf”];foreach(valCol中的object val){if(val是string){distName=val.ToString();}else{distName=enc.GetString((Byte[])val);}这仍然是个问题吗?如果是的话,“最新版本”是什么软件?有多少组(包括嵌套组)用户是的成员吗?这是一个运行windows 2000的AD服务器。如果您指示我到相关的dll或应用程序,我可以获得更多的版本号。好的。我没有任何2000台计算机,我可以尝试任何东西。坦率地说,我很快就不会有任何2003 DC。您没有回答有关用户是多少组成员的问题。