如何解决 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' 属性。
运行 以下脚本适用于 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' 属性。