我试图在一个烧瓶应用程序中运行pyad。
from flask import Flask, render_template, flash, request
from wtforms import Form, TextField, TextAreaField, validators, StringField, SubmitField
from pyad import *
import folder_module
# App config.
DEBUG = True
app = Flask(__name__)
app.config.from_object(__name__)
app.config['SECRET_KEY'] = 'SECRETKEY'
class ReusableForm(Form):
uid1 = TextField('UID1:', validators=[validators.required()])
uid2 = TextField('UID2:', validators=[validators.required()])
folder = TextField('Folder Name:', validators=[validators.required()])
@app.route("/", methods=['GET', 'POST'])
def fold():
form = ReusableForm(request.form)
print(form.errors)
if request.method == 'POST':
uid1 = request.form['uid1']
uid2 = request.form['uid2']
foldername = request.form['folder']
if form.validate():
ou = pyad.adcontainer.ADContainer.from_dn("ou=Groups, dc=ad, dc=test, dc=com")
flash(ou)
else:
flash('All the form fields are required. ')
return render_template('folder.html', form=form)
if __name__ == "__main__":
app.run()
我希望我可以调用pyad来创建一个安全组。但即使在广告容器上运行查询(在这种情况下通过dn)也会给我一个win32错误。主要失败错误是由该行产生的,并给出以下win32types错误。
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147221020), None)
我试过在32位和64位python中运行它,以及使用AD.setdefault auth。
我还能做些什么吗?
pywintypes.com error when running pyad.adgroup on flask 看起来其他人有类似的问题
答案 0 :(得分:0)
我可以在任何路由中使用pythoncom库解决此错误。
from flask import Flask, render_template, request
import pythoncom
import pyad
@app.route('/')
def index():
pythoncom.CoInitialize()