我是JavaScript的新手并且阅读了有关该主题的一些问题,但没有一个给我解决我的问题。
我想更改Active Directory中的用户数据,因此我使用ldapjs。有一种方法可以更改用户的属性。
client.modify(
user['dn'],
[new ldap.Change({
operation: 'replace',
modification: {
_var_: u['st']
}})]);
当我知道要设置的密钥(_var_
)时,这非常有效。但是我得到了一个包含任何要更改的键值对的对象。像u = { sn: 'test', l: 'test', st: 'test'};
之类的东西现在我想迭代u
的所有属性并修改user
的相关属性(在AD中)。有没有办法动态设置_var_
中的modification
键以适应u
(sn,l,st)的实际键?
答案 0 :(得分:1)
这是你正在寻找的吗?前提是_var_
包含字符串。
var modification = {};
modification[_var_]=u['st'];
client.modify(
user['dn'],
[new ldap.Change({
operation: 'replace',
modification: modification})]);
所以使用你的u
对象:
for(var k in u){
modification[k]=u[k];
}
请参阅this fiddle。