У меня есть локальный пользователь, который входит в локальную группу администраторов.
Когда я запускаю этот код:
using System;
using System.DirectoryServices;
namespace nanttest
{
class Program
{
public static void Main(string[] args)
{
using(DirectoryEntry entry = new DirectoryEntry("IIS://localhost/W3SVC"))
{
object absobject = entry.NativeObject;
Console.WriteLine("Name: {0}", entry.Name);
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
Я получаю:
Необработанное исключение:
System.Runtime.InteropServices.COMException
(0x80070005): доступ запрещен.
в
System.DirectoryServices.DirectoryEntry.Bind (Boolean
throwIfFail) в
System.DirectoryServices.DirectoryEntry.Bind ()
в
System.DirectoryServices.DirectoryEntry.get_NativeObject ()
на nanttest.Program.Main (String []
args) в
C: \ Work \ nanttest \ nanttest \ Program.cs: линия
20
Если я запускаю этот код во время входа в систему как администратор, он работает нормально.
Кроме того, этот код завершается ошибкой, если я запускаю его, выполнив вход в систему как пользователь DomainAdmin. Я добавил MYDOMAIN \ DomainAdmins и MYDOMAIN \ mydomainuser в качестве членов локальной группы администраторов.
Какие еще разрешения я должен добавить для этих пользователей, чтобы они могли запускать этот код.