如何使用Python将用户移动到不同的OU

4 投票
1 回答
2295 浏览
提问于 2025-04-16 09:53

我最近在玩一个很棒的active_directory模块,还有一个功能强大的python-ldap模块。虽然网上有很多关于如何用python查询、修改、创建和删除Active Directory中的条目的文章,但我就是找不到关于如何用python把用户移动到不同的组织单位(OU)的建议。是我搜索的技巧不够好,还是这根本不可能呢?(我用C#做得很好,但我更喜欢用python来工作)

提前谢谢大家!

编辑:
好吧,我又查了一下,发现我需要使用MODRDN命令。这个命令是通过Python_Ldap提供的,太好了!不过我似乎无法让python-ldap用Windows凭证进行身份验证,所以我开始尝试pywin32。
pywin32在编辑属性方面非常棒,但我还没找到通过这个模块编辑区分名称的方法……唉!如果有人有线索,那就太感谢了。

1 个回答

4

好的,我已经解决了这个问题,而且效果还不错。

不过,这个解决方案只适用于Windows,因为它使用了pywin32模块(不过在python-ldap中,你可以用modrdn来解决这个问题)。

下面是如何把用户“jimboface”移动到“happyland”这个组织单位(OU)的方法:

import active_directory

user = active_directory.find_user("jimboface")
destination_ou = active_directory.find_ou("happyland")
destination_ou.com_object.MoveHere(str(user.as_string()), str(user.Name))
#Thats it!

像这样的时刻让我想起我为什么喜欢这个语言。希望这能帮助到某个人!

撰写回答