2

当我尝试创建 IIS 的新 DirectEntry 时,我总是拒绝访问,这是代码:

DirectoryEntry entry=new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT");
foreach(DirectoryEnetry de in entry.Children){
 Console.WriteLine(de.Name);
}

当前登录系统的用户已经是系统的超级管理员。

所以他应该拥有所有的权限。

如何解决?

顺便说一句,我在 asp.net web 应用程序和窗口窗体应用程序中测试了代码,它们都抛出了相同的“访问被拒绝”异常。

4

1 回答 1

1

您需要将 LDAP 服务器的凭据提供到您的DirectoryEntry()对象中。或者,您需要确保您的应用程序池指的是域帐户,而不是 NETWORKSERVICES 或其他应用程序池帐户,因为它们无权访问 AD。

IE

DirectoryEntry rootDSE = new DirectoryEntry("LDAP://yourldapserver");
rootDSE.Username = "user";
rootDSE.Password = "password";
于 2019-05-03T06:15:36.703 回答