我有一台 Win 2012 Server,并在其上创建了一个新的 AD LDS 林。我在服务器上运行一个使用该林作为用户凭据的软件应用程序。该软件应用程序没有让我登录。我曾经使用以下方法dsquery
从 DN 中提取林对象:
dsquery * -s 192.168.1.2 "DC=my,DC=domain,DC=com"
这成功了。
然而,使用ldapsearch
它又是另一回事:
ldapsearch -h 192.168.1.2 -p 389 "DC=my,DC=domain,DC=com"
ldap_search: Operations error
ldap_search: additional info: 000004DC: LdapErr: DSID-0C090724, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v23f0
问题:
- 为什么
dsquery
起作用,又ldapsearch
不起作用? - 对于错误有什么想法
ldapsearch
吗?
编辑:
为了回应@longneck,我尝试了以下操作(并得出相关结果):
ldapsearch -v -d 4 -h 192.168.1.2 -p 389 -w <PASSWORD> -D '<DOMAIN>\Administrator' "DC=my,DC=domain,DC=com"
ldap_open( 192.168.1.2, 389 )ldapsearch -h 192.168.1.2 -p 389 "DC=my,DC=domain,DC=com"
ldap_bind: Invalid credentials
ldap_bind: additional info: 8009030C: LdapErr: DSID-0C0903C5, comment: AcceptSecurityContext error, data 2030, v23f0
我完全不确定这个-D
标志,因为帮助中-D
说bind dn
DN,但正如你所看到的这个答案该参数的帮助并不直观。
我可以肯定地说,上面带有-w
标志的密码是正确的,所以我不确定为什么命令失败。
答案1
dsquery
使用已登录用户的凭证来验证(绑定)目录。ldapsearch
不。查看-D
和-W/w
的选项ldapsearch
。