2015-04-10 6 views
1

Фон:
Я использую модуль python-ldap на своей машине Linux для управления учетными записями пользователей на удаленном Windows Server 2008. Я смог искать, создавать и изменять пользователей, за исключением изменения «ou» пользователя.Python LDAP - переместить пользователя в разные 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
Является ли это возможно в питон-LDAP на Linux или есть работа -arounds?
Спасибо!

ответ

4

Вам необходимо использовать rename_s и указать параметр newsuperior.

Быстрый пример кода:

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

Это работало отлично! Хотя что такое параметр «newsuperior»? Это третий параметр? – sk8sleeprepeat

+0

Да, хотя это также именованный параметр (проверьте связанные документы) – ig0774

Смежные вопросы