首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PutEx是如何工作的?

PutEx是如何工作的?
EN

Stack Overflow用户
提问于 2017-08-18 12:36:48
回答 1查看 305关注 0票数 1

我必须将一些代码从VB翻译到C#,虽然我读过MSDN,但无法完全理解PutEx的工作原理。就我而言,我有以下几点:

代码语言:javascript
复制
Set ObjUser = GetObject("LDAP://" + myPathVariable)
ObjUser.PutEx 1, "Company", 0

有人能给我解释一下这句话到底是干什么的吗?

我理解的是,第一个参数是动作(在本例中是ADS_PROPERTY_CLEAR),第二个参数是属性名,第三个参数是属性值。因此,这一行将清除ObjUser中的任何数据,然后追加这些值?

如果是这样的话,我们为什么不使用Put呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-18 13:17:14

IADs::Put()可以设置值,但不能清除值,这意味着可以使用该方法设置不同的值,但不能完全删除值(即将属性设置为NULL)。对于后者,您必须使用IADs::PutEx()

来自脚本盖伊博客的更详细的解释

接下来,我们使用这两行代码完全删除Ken的电话号码: objUser.PutEx ADS_PROPERTY_CLEAR,"telephoneNumber",0 objUser.SetInfo 如您所见,我们调用ADS_PROPERTY_CLEAR方法并传递给它三个参数:1)表示要执行的操作的常量telephoneNumber,;2)要清除的属性telephoneNumber,;以及3)清除属性时需要的参数0,。然后,我们调用SetInfo方法将更改写回Active。如果重新运行检索具有电话号码的用户列表的脚本,Ken将不再出现在列表中。那是因为他已经没有电话号码了,甚至连一个空字串也没有。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45756833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档