Ich erhalte eine COMException "Zugriff auf bestimmte Objekte", wenn ich eine Verbindung mit einem Remote-IIS 6-Server über meine C# -Anwendung unter IIS 5.1 herstelle."Zugriff verweigert" beim Versuch, eine Verbindung mit einem Remote-IIS-Server herzustellen - C#
Irgendwelche Ideen? Ich habe die gleichen Probleme mit den ursprünglichen Fragen.
Update - 4/1/09
fand ich diese Lösung (http://www.codeproject.com/KB/cs/Start_Stop_IIS_Website.aspx), die auf einem IIS-Server Verbinden einer Fensteranwendung besteht zu starten und Web-Sites zu stoppen. Ich kann es auf meiner Arbeitsstation ausführen und eine Verbindung mit dem IIS-Server herstellen.
Ugh .... warum kann ich diese eigenständige Anwendung ausführen, aber nicht meine ASP.NET-Anwendung?
Original-
Ich erhalte einen „Zugriff verweigert“ COMException wenn ich versuche, von einem entfernten Rechner zu IIS verbinden die DirectoryEntry.Exist Methode zu überprüfen, um zu sehen, ob der IIS-Server gültig ist.
Ich bin Mitglied einer Active Directory-Gruppe, die den Administratorengruppen zu dem IIS-Server hinzugefügt wurde, mit dem ich mich verbinden möchte.
Hat jemand dieses Problem erlebt und weiß, wie man es löst?
UPDATE:
@Kev - Es ist eine ASP.NET-Anwendung. Außerdem kann ich über den IIS6-Manager eine Verbindung ohne Benutzernamen und Kennwort zum Remote-Server herstellen.
@Chris - Ich versuche eine Verbindung mit dem Remote-Server herzustellen, um die Anzahl der virtuellen Directorys anzuzeigen und die .NET Framework-Version jedes Verzeichnisses zu bestimmen. Siehe this SO Frage.
@dautzenb - Meine ASP.NET-Anwendung wird unter IIS 5.1 ausgeführt, um eine Verbindung mit einem IIS 6-Server herzustellen. Ich kann Fehlerprüfungen im Sicherheitsprotokoll für mein lokales ASPNET-Konto auf dem Remote-Server sehen. Wenn ich versuche, die Anwendung zu debuggen, laufe ich unter meinem Domain-Account und bekomme trotzdem Zugriff verweigert.
UPDATE 2:
@Kev - konnte ich ein Directory Objekt mit der folgenden Überlastung schaffen zu schaffen:
public DirectoryEntry
(
string path,
string username,
string password
)
Aber alle Eigenschaften enthalten eine "eine Ausnahme ausgelöst vom Typ 'System.Runtime.InteropServices.COMException' ", während ich die App debugge.
Außerdem ist die AuthenticationType-Eigenschaft auf Secure festgelegt.
UPDATE 3:
Die folgenden zwei Fehlerüberwachungseinträge wurden in der Remote-Sicherheitsereignis der IIS-Server jedes Mal, melde ich mich um eine Verbindung herzustellen versucht:
Erste Veranstaltung:
Event Kategorie : Kontoanmeldung
Ereignis-ID: 680
Protokollversuch von: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
Anmeldung acco unt: ASPNET
Quelle Workstation:
Fehlercode: 0xC0000234
Zweite Veranstaltung:
Event Kategorie: Anmelden/Abmelden
Ereignis-ID: 529
Anmeldung fehlgeschlagen:
Grund: Unbekannter Benutzername oder falsches Kennwort
Benutzername: ASPNET
Domäne: (MyDomain)
Anmeldungstyp: 3
Anmeldeprozess: NtLmSsp
Authentifizierungspaket: NTLM
Workstation Name: (MyWorkstationId)
Caller Benutzername: -
Aufruferdomäne: -
Aufruferanmeldekennung: -
ID Caller-Prozess: -
Übertragene Dienstleistungen: -
Quellnetzwerkadresse: 10.12.13.35
Source Port: 1708
Der Identitätswechsel ist auf "wahr" gesetzt und der Benutzername und das Passwort sind leer. Es verwendet das ASPNET-Konto auf dem Remote-IIS-Server.
Ist dies eine Konsole/Windows App oder ASP.NET? – Kev
Was geschieht auch, wenn Sie über den IIS MMC auf Ihrem PC eine Verbindung zum Remote-Server herstellen, indem Sie im Kontextmenü den Befehl "Verbinden ..." wählen? Können Sie ohne Benutzername und Passwort verbinden (Connect as)? – Kev
@Kev - Ich habe meine Frage aktualisiert, um Ihre Fragen zu stellen. –