我正在尝试从用户输入创建变量。然后让搜索过滤器使用该变量。
以下是我的python脚本中的一些代码,当名称在" John Doe"中被硬编码时,它成功地从AD目录中检索CN名称和电子邮件。
retrieveAttributes = ["name"] and ["mail"]
searchFilter = "(&(name=John Doe)" \
"(!(objectClass=computer))" \
"(&(objectClass=person)))"
通过创建名为" adname"的用户输入变量,我能够做到这一点,但不知道如何使SearchFilter名称使用变量" adname":
adname = raw_input("Search CN Name:")
print adname
retrieveAttributes = ["name"] and ["mail"]
searchFilter = "(&(name = adname)" \
"(!(objectClass=computer))" \
"(&(objectClass=person)))"
非常感谢任何见解,
由于
答案 0 :(得分:1)
将搜索字符串准备为字符串变量:
第一步 - 而不是
searchFilter = "(&(name=John Doe)" \
"(!(objectClass=computer))" \
"(&(objectClass=person)))"
你可以使用
search = "(&(name=John Doe)" \
"(!(objectClass=computer))" \
"(&(objectClass=person)))"
searchFilter = search
现在准备搜索包含输入中的名称是没有问题的:
search = "(&(name={})" \
"(!(objectClass=computer))" \
"(&(objectClass=person)))" \
.format(adname) # replaces {} with the content of adname
并使用相同的搜索过滤器:
searchFilter = search