如何解决 python active_directory 中的 AttributeError?

How to solve AttributeError in python active_directory?

运行 以下脚本适用于 MasterGroupList 中 60% 的条目,但突然失败并出现以下错误。尽管我的问题似乎很糟糕,但你们之前已经能够帮助我。知道如何避免出现此错误吗?或者什么是脚本? masterGroupList 看起来像:

从 AD 中拉出的组

SET00 电源用户

SET00 用户

SEF00 创作者

SEF00 用户

...另外 300 个条目...

错误:

Traceback (most recent call last):
  File "C:\Users\ks185278\OneDrive - NCR Corporation\Active Directory Access Scr
ipt\test.py", line 44, in <module>
    print group.member
  File "C:\Python27\lib\site-packages\active_directory.py", line 805, in __getat
tr__
    raise AttributeError
AttributeError

代码:

from active_directory import *
import os

file = open("C:\Users\NAME\Active Directory Access Script\MasterGroupList.txt", "r")
fileAsList = file.readlines()
indexOfTitle = fileAsList.index("Groups Pulled from AD\n")
i = indexOfTitle + 1
while i <= len(fileAsList):
    fileLocation = 'C:\AD Access\%s\%s.txt' % (fileAsList[i][:5], fileAsList[i][:fileAsList[i].find("\n")])
    #Creates the dir if it does not exist already
    if not os.path.isdir(os.path.dirname(fileLocation)):
        os.makedirs(os.path.dirname(fileLocation))
    fileGroup = open(fileLocation, "w+")    
    #writes group members to the open file
    group = find_group(fileAsList[i][:fileAsList[i].find("\n")])
    print group.member
    for group_member in group.member: #this is line 44
        fileGroup.write(group_member.cn + "\n")
    fileGroup.close()
    i+=1

免责声明:我不知道 python,但我非常了解 Active Directory。

如果在这方面失败:

for group_member in group.member:

这可能意味着该组没有成员。

根据 phython 的处理方式,这也可能意味着该组只有一个成员并且 group.member 是一个普通字符串而不是数组。

print group.member 显示什么?

active_directory.py的源代码在这里:https://github.com/tjguk/active_directory/blob/master/active_directory.py

这些是相关行:

    if name not in self._delegate_map:
        try:
            attr = getattr(self.com_object, name)
        except AttributeError:
            try:
                attr = self.com_object.Get(name)
            except:
                raise AttributeError

所以看起来它只是找不到您要查找的属性,在本例中它看起来像 'member' 属性。