Python LDAP - 将用户移动到不同的 OU

标签 python linux active-directory ldap python-ldap

背景:
我一直在我的 Linux 机器上使用 python-ldap 模块来管理远程 Windows Server 2008 上的用户帐户。我已经能够搜索、创建和修改用户,但更改用户的“ou”除外。

我尝试过使用“modify_s”和“modrdn_s”,但由于 modrdn 只允许您更改 dn 的第一部分,我没有运气修改“ou”或将用户移动到新的“ou” .

暂时我正在创建一个新用户并复制我能够从旧用户那里复制的所有属性,然后删除旧用户。但这不允许我保留用户创建日期和其他不可编辑的信息。

我已经彻底搜索了互联网并找到了一些解决方案,但是:
在其他操作系统上:How do you move a user to a different OU using Python
和其他编程语言:Active Directory LDAP move user to different OU - Ruby
这在 Linux 上的 python-ldap 中是否可行,或者是否有任何解决方法?
谢谢你!

最佳答案

您需要使用 rename_s并指定 newsuperior 参数。

快速示例代码:

ldap.rename_s('cn=UserName,ou=OldContainer,dc=example,dc=com', 'cn=UserName', 'ou=NewContainer,dc=example,dc=com')

关于Python LDAP - 将用户移动到不同的 OU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564655/

相关文章:

python - 在 PyCharm 中禁用自动启动单元测试

python - 如何使用 Python 数据类记录类的构造函数?

C# - 在事件目录中查找用户管理器

php - 绕过 PHP CURL 2GB 下载限制

linux - ~/.wine 的 Wine 的 "skeleton"在哪里?

c# - Microsoft Graph API 重定向成功,但 Request.Authentication=false

C# 安全 token 错误 3242

python - 为什么使用 Selenium webdriver 在我的 Mac 本地可以很好地执行 JS,但在 Docker 容器中却不行?

Python-Django-Heroku-导入错误-无法从 'fromshare' 导入名称 'socket'

linux - Bash No such file or directory 错误