在烧瓶中运行Pyad

时间:2017-12-10 04:18:27

标签: python flask

我试图在一个烧瓶应用程序中运行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 看起来其他人有类似的问题

1 个答案:

答案 0 :(得分:0)

我可以在任何路由中使用pythoncom库解决此错误。

from flask import Flask, render_template, request
import pythoncom
import pyad

@app.route('/')
def index():
    pythoncom.CoInitialize()