我正在尝试使用 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”时,这段代码突然起作用了。
我想这是关于许可的问题,但我无法弄清楚。
谁能告诉我为什么这可以工作。以及如何更改此方法。你知道我不想让用户成为管理员。