0

我正在尝试使用 C# 来操作 AD LDS。

我已经可以通过我的管理员帐户连接到 AD。像这样:

DirectoryEntry entry = new DirectoryEntry("LDAP://serverip/CN=xxx,DC=yyy,DC=com", username, password,AuthenticationTypes.ServerBind);

“用户名”和“密码”是管理员和密码。

然后我在我的服务器上创建一个用户。我设置了它UserPrincipalName as 'william'和它的密码。我也设置了它msDS-UserAccountDisabled = false

我尝试用 C# 记录这个用户

Directory entry = new Directory("LDAP:\\serverid\CN=xxx,DC=YYY,DC=com",username,pwd,AuthenticationTypes.ServerBind);
entry.RefreshCache();

当我没有将 'william' 放入 'Administrator' 组时,代码entry.RefreshCache();总是抛出异常;但是当我将“william”放入“Adminitrator”时,这段代码突然起作用了。

我想这是关于许可的问题,但我无法弄清楚。

谁能告诉我为什么这可以工作。以及如何更改此方法。你知道我不想让用户成为管理员。

4

0 回答 0