c# - 删除 DirectoryEntry 中的某些属性(Active Directory,C#)

标签 c# .net active-directory

这类似于此链接中提出的问题/答案: How do I clear out a user object attribute in Active Directory?

在大多数情况下,Clear() 似乎有效,这就是我在大多数谷歌搜索中得到的结果,但它不适用于某些属性:在我的 (C#) 代码中,我无法删除该属性用户的“手机”(号码)。每次我清除条目并保存时,保存都不会生效,值保持不变。

当我尝试直接在 ADUC 中这样做时,它成功了,但只是删除了整个“移动”属性。我对此没有问题,但尝试在代码中这样做没有任何结果 - 我从中获取值的 DirectoryEntry.PropertyCollection 属性没有直接删除属性的方法。

我查找了 PropertyCollection文档并发现 Remove 方法是私有(private)的,因此可以对其进行解释,但是我可以尝试的等效替代方法是什么?

最佳答案

对于它的值(value)(6 年和之后的大流行)我想我找到了一个解决方法:我使用帐户管理框架中的 System.DirectoryServices.AccountManagement.PrincipalContext 类来保存我的通过调用 .Save() 轻松地更改和应用它们。

这带来了它自己的问题和复杂性,但在大多数情况下,结合这两个框架的各个方面设法涵盖了我的所有 AD 要求。

关于c# - 删除 DirectoryEntry 中的某些属性(Active Directory,C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237161/

相关文章:

c# - 带日期的 Subsonic 3.0 ActiveRecord

c# - Winforms - 可视化删除按钮点击事件

c# - 在 ASP.net MVC 中使用 Html Helper 在右大括号上关闭标记

c# - DataGridView 复选框事件

c# - 使用 C# 的线程池问题

c# - 不能修改返回值,因为它不是变量

.net - C# WMI 中的软盘噪音 - Win32_LogicalDisk 类

tomcat - 对 AD 的 ldap 身份验证适用于除 "domain users"以外的组

java - 如何使用 Java 执行无连接 LDAP 调用?

java - Spring Boot 应用程序中的 LDAP 身份验证