Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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# DirectoryEntries.Find:“查找”;指定了无效的dn语法";_C#_Active Directory_Ldap - Fatal编程技术网

C# DirectoryEntries.Find:“查找”;指定了无效的dn语法";

C# DirectoryEntries.Find:“查找”;指定了无效的dn语法";,c#,active-directory,ldap,C#,Active Directory,Ldap,我正在尝试在当前域中查找用户。代码如下: DirectoryEntry domain = new DirectoryEntry("LDAP://CN-Users, DC=" + Environment.UserDomainName); DirectoryEntries entries = domain.Children; try { // The following line causes t

我正在尝试在当前域中查找用户。代码如下:

DirectoryEntry domain = new DirectoryEntry("LDAP://CN-Users, DC=" + Environment.UserDomainName);
            DirectoryEntries entries = domain.Children;
            try
            {
                // The following line causes the exception
                DirectoryEntry user = entries.Find("(&(objectCategory=user)(cn=" + userName + "))", ActiveDirectoryEntryType.User.TypeName);
                user.DeleteTree();
                user.CommitChanges();
            }
            catch
            {}
我得到一个错误:

An invalid dn syntax has been specified.
我还尝试了以下代码,得到了相同的错误:

DirectoryEntry user = entries.Find(userName, ActiveDirectoryEntryType.User.TypeName);

我在帮助文件中找不到有关正确语法的信息。有人知道这是怎么做的吗?

您的状态中有一个错误:

DirectoryEntry domain = new DirectoryEntry("LDAP://CN-Users, DC=" + Environment.UserDomainName);
我几乎可以肯定它应该是:
LDAP://CN=Users,
instaed of
LDAP://CN-Users,

第二件事是
DC=“+Environment.UserDomainName
,这可能是错误的,因为通常是这样的:
LDAP://OU=Finance,DC=fabrikam,DC=com
(有多个DC)

您可以使用powershell查找所有DC。运行以下命令:

New-Object DirectoryServices.DirectoryEntry

您好,您在LDAP上查找的用户名值是什么?好的,现在我很尴尬…您是对的,CN-是错误。关于域-是的,我知道,我将更改该代码,但同时这已经足够了,因为我们的域名只有一个字。谢谢!