我想编写一个ldapmodify
命令并传入一个ldif文件以将计算机移动到新的OU。这意味着我需要更改 DN。
例:
CN=joesworkstation,OU=training,OU=计算机,DC=my,DC=domain,DC=com
自
CN=joesworkstation,OU=笔记本电脑,DC=my,DC=domain,DC=com
man ldif
显示如何重命名用户的 CN,但不更改计算机的 DN。不过,根据他们的例子,这是我的 ldif 文件格式猜测:
dn: CN=joesworkstation,OU=training,OU=computers,DC=my,DC=domain,DC=com
changetype: modify
replace: dn
dn: CN=joesworkstation,OU=laptops,DC=my,DC=domain,DC=com
deleteoldrdn: 1
这是最正确的方法吗?
根据LDAP服务器实现,LDIF应该是这样的:
dn: CN=joesworkstation,OU=training,OU=computers,DC=my,DC=domain,DC=com
changetype: moddn
newsuperior: OU=laptops,DC=my,DC=domain,DC=com
# remove old RDN entry
deleteoldrdn: 1
这些活动可能会受到限制。进行尽职调查。
也许有更好的方法来Microsoft活动目录。-吉姆
我今天终于能够找到一个解决方案。为了更新计算机对象的 DN,我使用了以下 LDIF 格式的文件:
dn: CN=joesworkstation,OU=training,OU=computers,DC=my,DC=domain,DC=com
changetype: moddn
newrdn: joesworkstation
deleteoldrdn: 1
newsuperior: OU=laptops,DC=my,DC=domain,DC=com
这工作得很好,并且也保持了计算机对象属性的所有值。