Active directory ldapsearch整个active directory而不返回refldap

Active directory ldapsearch整个active directory而不返回refldap,active-directory,ldap,Active Directory,Ldap,我正试图在整个AD中执行过滤的ldapsearch。但是,当我将basedn设置为域时,我会从查询中获得到其他“分区”的“refldap”引用响应,即使过滤器不匹配(这是我要测试的…) e、 g 是否有办法防止这些转介条目/返回 (我正在尝试将输出写入一个标志文件,然后对其大小进行测试…即使过滤查询失败,使用虚假条目,我仍然会得到文件大小为0的文件) 我确实考虑过查询GC,但是我想要的属性没有存储在那里(我不想添加它!) 有什么想法吗? 谢谢 大卫我想我找到了一个可以使用的替代方案。如果我在“l

我正试图在整个AD中执行过滤的ldapsearch。但是,当我将basedn设置为域时,我会从查询中获得到其他“分区”的“refldap”引用响应,即使过滤器不匹配(这是我要测试的…)

e、 g

是否有办法防止这些转介条目/返回

(我正在尝试将输出写入一个标志文件,然后对其大小进行测试…即使过滤查询失败,使用虚假条目,我仍然会得到文件大小为0的文件)

我确实考虑过查询GC,但是我想要的属性没有存储在那里(我不想添加它!)

有什么想法吗? 谢谢
大卫

我想我找到了一个可以使用的替代方案。如果我在“ldap模式”(ldap mode)中使用RSAT dsquery.exe工具,这似乎可以达到目的

dsquery * domainroot -filter "(&(pwmResponseSet=*)(samaccountname=%USERNAME%))"
我希望这能帮助同舟共济的人

干杯
David

如果您有折叠的长线,可以通过在ldapsearch命令中添加以下参数来防止这种情况:

-o ldif-wrap=no
如果您的Windows版本允许,那么可以使用
findstr

例如:

ldapsearch -o ldif-wrap=no -LLL -h 127.0.0.1 -b "dc=ad-test,dc=local" ^
    -D "cn=ldapproxy,cn=users,DC=ad-test,DC=local" ^
    -w password ^
    (&(pwmResponseSet=*)(samaccountname=notestuser))" dn | ^
    findstr /r /v /c:"^# refldap" /c:"^$" "%~1" > yourfile.ldif
或者,如果您想在linux上执行此操作:

ldapsearch -o ldif-wrap=no -LLL -h 127.0.0.1 -b "dc=ad-test,dc=local" \
    -D "cn=ldapproxy,cn=users,DC=ad-test,DC=local" \
    -w password \
    (&(pwmResponseSet=*)(samaccountname=notestuser))" dn | \
    grep -v -e "^# refldap" -e "^$" > yourfile.ldif
这样可以防止折线

它还过滤掉所有以
#refldap
字符串和空行开头的行

重要提示:不要在windows或
\
在linux上,否则它将无法工作。 希望能有所帮助。

egrep-v“^(#..|)$”>yourfile.ldif
ldapsearch -o ldif-wrap=no -LLL -h 127.0.0.1 -b "dc=ad-test,dc=local" \
    -D "cn=ldapproxy,cn=users,DC=ad-test,DC=local" \
    -w password \
    (&(pwmResponseSet=*)(samaccountname=notestuser))" dn | \
    grep -v -e "^# refldap" -e "^$" > yourfile.ldif