DirectoryEntry.NativeObject wirft Zugriff für einen Benutzer in Gruppe Administratoren verweigert in Windows 2008
-
06-07-2019 - |
Frage
Ich habe einen lokalen Benutzer, das Mitglied der lokalen Administratorengruppe ist.
Wenn ich diesen Code ausführen:
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);
}
}
}
I erhalten:
Unbehandelte Ausnahme: System.Runtime.InteropServices.COMException (0x80070005): Zugriff verweigert.
an System.DirectoryServices.DirectoryEntry.Bind (Boolean throwIfFail) bei System.DirectoryServices.DirectoryEntry.Bind () beim System.DirectoryServices.DirectoryEntry.get_NativeObject () bei nanttest.Program.Main (String [] args) in c: \ Arbeit \ nanttest \ nanttest \ Program.cs: line 20
Wenn ich diesen Code ausführen, während als Administrator angemeldet, es funktioniert OK.
Auch dieser Code schlägt fehl, wenn ich es als Domain Benutzer angemeldet laufen. Ich habe MYDOMAIN \ Domänen und MYDOMAIN \ mydomainuser als Mitglieder der lokalen Administrator-Gruppe hinzugefügt.
Welche anderen Berechtigungen sollte ich für diesen Benutzer hinzufügen, so können sie diesen Code ausführen.
Lösung
meine eigene Frage zu beantworten, damit andere eine Lösung finden:
Das Problem ist mit den Standard-UAC-Einstellungen in Windows 2008. Auch wenn ein Benutzer in der Gruppe Administratoren ist, kann er / sie braucht noch erhöhte Privilegien einige Operationen auszuführen (die oben erscheint, unter ihnen zu sein).
So Lösung. 1 - die Anwendung ausführen mit „Ausführen als Administrator“, oder von einer Eingabeaufforderung starten, die mit dieser Option gestartet wurde
Lösung 2: Deaktivieren Sie UAC für Gruppenadministratoren - ich verwendet habe Methode # 3 von diesem Artikel (Gruppenrichtlinienänderungen). Denken Sie daran, den Server nach diesen Änderungen neu zu starten.