【原创】python 写入AD部门信息报错:“目录服务不能在一个对象的RDN 属性上执行该请求的操作”

发布于 2018-09-06  678 次阅读


问题:

今天使用Python的第三方库pyad往AD中修改部门(OU)的信息,通过ou.update更新部门属性,想要改部门的名字(Name),这是报错:“目录服务不能在一个对象的RDN 属性上执行该请求的操作”

解决过程:

通过查看这个update的源码,支持写入属性,也没写哪些属性可写。再看看ou对象有没有其他方法, 这时,看到有一个ou.rename属性,估计是重命名的方法,执行了一下,确实如猜想一样。

解决办法:

更新OU的属性时,执行ou.update(attr={}),attr为属性的键值对字典,键必须跟AD属性一致,并且这个属性可写。

更新OU的名字时,执行ou.rename(new_name="xxxx")

 

提醒:

官方文档的使用教程写的不够详细,大家可以自己看看源码,也不难,多看看有什么其他方法。

安装pyad可以参考我的另外一篇文章:http://blog.bigyoung/443.html