Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

UPDATE: ASP.NET funktioniert nicht mit einem Domänenkonto ohne Administratorberechtigungen auf einem Domänencontroller

Dieser Artikel wurde zuvor veröffentlicht unter D315158
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
315158 FIX: ASP.NET does not work with the default ASPNET account on a domain controller
Problembeschreibung
Nachdem Sie Microsoft Visual Studio .NET oder Microsoft .NET Framework auf einem Domänencontroller oder einem Sicherungs-Domänencontroller installiert haben, zeigt der Browser folgende Fehlermeldung an, wenn Sie versuchen, eine ASP.NET-Anwendung auszuführen:
Die Serveranwendung ist nicht verfügbar.

Die Webanwendung aus diesem Webserver ist derzeit nicht verfügbar.

Klicken Sie auf 'Aktualisieren' im Webbrowser, um diesen Vorgang zu wiederholen.
Außerdem wird im Ereignisprotokoll der Systemanwendung das folgende Ereignis protokolliert:
aspnet_wp.exe konnte nicht gestartet werden, da der Benutzername und/oder das Kennwort, die im processModel-Abschnitt der Konfigurationsdatei angegeben wurden, ungültig sind.
aspnet_wp.exe konnte nicht gestartet werden.
HRESULT für den Fehler: 80004005
Dies gilt für Internet Information Services (IIS) 5.0 oder höher.
Ursache
Standardmäßig führt ASP.NET seinen Workerprozess (Aspnet.wp.exe) mit einem Konto mit eingeschränkten Berechtigungen aus (dem lokalen Computerkonto, genannt ASPNET), um eine sicherere Umgebung zu bieten. Auf einem Domänencontroller oder auf einem Sicherungs-Domänencontroller sind alle Benutzerkonten Domänenkonten und keine lokalen Computerkonten. Demzufolge wird "Aspnet_wp.exe" nicht gestartet, da es kein lokales Konto mit dem Namen "localmachinename\ASPNET" finden kann. Um ein gültiges Benutzerkonto auf dem Domänencontroller zur Verfügung zu haben, müssen Sie ein explizites Konto im Abschnitt <processModel> der Datei "Machine.config" festlegen, oder Sie müssen das Systemkonto verwenden.

Hinweis: Wenn Sie versuchen zu debuggen (klicken Sie auf die Schaltfläche Start), bevor Sie versuchen, zu der Seite zu wechseln, tritt möglicherweise dasselbe Problem auf.
Lösung
Wenden Sie eine der folgenden Methoden an, um dieses Problem zu umgehen:
  • Erstellen Sie ein Konto mit eingeschränkten Berechtigungen, das über die richtigen Berechtigungen verfügt, und konfigurieren Sie anschließend den Abschnitt <processModel> der Datei "Machine.config" so, dass dieses Konto verwendet wird.
  • Setzen Sie das Attribut userName im Abschnitt <processModel> der Datei "Machine.config" auf SYSTEM.
  • Konfigurieren Sie den Abschnitt <processModel> der Datei "Machine.config" so, dass ein Administratorkonto verwendet wird.
Hinweis: Wenn Sie zulassen, dass ASP.NET-Anwendungen mit dem Systemkonto oder einem Administratorkonto ausgeführt werden, hat dies schwerwiegende Auswirkungen auf die Sicherheit. Wenn Sie eine dieser Methoden verwenden, um das Problem zu umgehen, hat der Code, der im Prozess "Aspnet_wp.exe" ausgeführt wird, Zugriff auf die Domänencontroller und die Domäneneinstellungen. Ausführbare Dateien, die von "Aspnet_wp.exe" gestartet werden, werden in demselben Kontext ausgeführt und haben auch Zugriff auf den Domänencontroller.

Deshalb empfiehlt Microsoft, die erste Methode zur Umgehung dieses Problems zu verwenden. Gehen Sie hierzu folgendermaßen vor:
  1. Erstellen Sie ein Benutzerkonto auf dem Computer mit dem Namen ASPUSER, und fügen Sie dieses Konto anschließend zur Benutzergruppe hinzu.

    Hinweis: Sie können auch das ASPNET-Konto, das .NET Framework erstellt hat, verwenden, wenn Sie das Kennwort für dieses Konto ändern. Sie müssen das Kennwort für dieses Konto wissen, da Sie in einem späteren Schritt das Kennwort zum Abschnitt <processModel> hinzufügen müssen.
  2. Weisen Sie dem ASPUSER- oder dem ASPNET-Konto das Benutzerrecht Anmelden als Stapelverarbeitungsauftrag zu. Vergewissern Sie sich, dass diese Änderung in den Einstellungen für lokale Sicherheitsrichtlinien angezeigt wird.

    Hinweis: Um diesem Konto das Benutzerrecht Anmelden als Stapelverarbeitungsauftrag zuzuweisen, müssen Sie dieses Benutzerrecht möglicherweise in jeder der folgenden Sicherheitsrichtlinien (über Systemsteuerung/Verwaltung) gewähren:

    • Sicherheitsrichtlinie für Domänencontroller
    • Domänensicherheitsrichtlinie
    • Lokale Sicherheitsrichtlinie

    Hinweis: Sie müssen den Server möglicherweise neu starten, damit diese Änderungen wirksam werden.
  3. Stellen Sie sicher, dass das ASPUSER- oder das ASPNET-Konto die Berechtigung hat, auf alle notwendigen Verzeichnisse und Dateien zuzugreifen, um den Prozess "Aspnet_wp.exe" zu starten und die ASP.NET-Seiten zu verarbeiten.Weitere Informationen dazu, welche Berechtigungen Sie diesem Konto zuweisen müssen, finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    317012 INFO: Prozess- und Anforderungsidentität in ASP.NET
  4. Öffnen Sie die Datei "Machine.config". Der Pfad zu dieser Datei ist folgender: %Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG.
  5. Ändern Sie im Abschnitt <processModel> der Datei "Machine.config" die Attribute userName und password auf den Namen und das Kennwort des Kontos, das Sie in Schritt 1 erstellt haben. Beispiel:
    userName="DomainName\ASPUSER" password="ASPUSERpassword"
  6. Speichern Sie die Änderungen in der Datei "Machine.config".
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.Dieses Problem wurde in ASP.NET (in .NET Framework enthalten) 1.1 behoben.
Informationsquellen
Weitere Informationen zur ASP.NET-Sicherheit finden Sie im folgenden Artikel der Microsoft Knowledge Base:
306590 INFO: Überblick über die ASP.NET-Sicherheit
Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
316989 Fehlermeldung "Fehler bei der Anmeldung für den Benutzer: 'Kontoname' beim Erstellen einer vertrauenswürdigen Datenverbindung von ASP.NET zu SQL Server
329290 SO WIRD'S GEMACHT: Verwenden des ASP.NET-Dienstprogramms zum Verschlüsseln von Anmeldeinformationen und Verbindungszeichenfolgen mit dem Sitzungsstatus
317012 Prozess- und Anforderungsidentität in ASP.NET
kbreadme
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 315158 – Letzte Überarbeitung: 02/04/2008 10:22:02 – Revision: 5.4

Microsoft ASP.NET 1.0, Microsoft Internet Information Services 5.0, Microsoft Mobile Internet Toolkit 1.0

  • kbproductlink kbfix kbbug kbconfig kbhttpruntime kbreadme kbsecurity KB315158
Feedback