我喜欢http://www.computerperformance.co.uk/Logon/DSquery_user.htm但还有一些额外的内容应该有帮助:
- 名称中有空格的 cn
- 里面有空间
- ETC…
我尝试了几次,始终没有出现错误,但也没有结果,例如:
dsquery * -attr "cn" -filter "(&(operatingSystem=*server*)(member='cn=Monday 10AM',ou=Server Security Groups,ou=MITS Servers,dc=ad,dc=xxxxxxx,dc=xxxx,dc=edu))" >>
测试目录:
或者
C:\Users\rmppqx>dsquery * -attr "cn" -filter "(&(operatingSystem=*server*)(member=cn=Monday*,ou=Server Security Groups,ou=MITS Servers,dc=ad,dc=xxxxxxr,dc=xxxx,dc=edu))" >> c:\test\test.txt
知道为什么结果文件总是空的吗?
谢谢,Dom
答案1
您的第一个示例不起作用,因为空格不需要在 LDAP 过滤器中特别引用(事实上,您已经有一个名称中带有空格的 OU),因此它试图找到一个'cn
具有值的属性Monday 10AM'
。
例如:
-filter "(&(operatingSystem=…)(member=cn=Monday 10AM,ou=Server Security Groups,…))"
过滤器中唯一需要引用的字符是:
( → \28
) → \29
* → \2a
\ → \5c
例如,要查找,cn=Monday (10AM),ou=…
您可以使用(member=cn=Monday \2810AM\29,ou=…)
。
您的第二个示例不起作用,因为该member
属性不支持通配符匹配。