applicationHost.config Fehler: Die Konfigurationsdatei kann aufgrund unzureichender Berechtigungen für die freigegebene IIS-Konfiguration nicht geschrieben werden

8

Ich verwende die Klasse Microsoft.Web.Administration.ServerManager , um eine Website in einem Windows-Dienst zu verwalten.

Ich verwende Identitätswechsel in meinem Code, mit einem Admin-Benutzer, der Benutzer hat das Recht, meine applicationHost.config zu ändern, aber ich bekomme immer den folgenden Fehler, wenn ich eine .CommitChanges(); mache.

Es gibt ein Beispiel für meinen Code.

%Vor%

Ich finde diese Lösungen , aber mein dcom-Eigenschaftenobjekt ist Sperre

  

Nicht behandelte Ausnahme ist in aufgetreten   Ihre Bewerbung. Wenn Sie klicken   Weiter, die Anwendung wird ignoriert   Dieser Fehler und versuchen, fortzufahren. Ob   Sie klicken auf Beenden, die Anwendung wird   sofort schließen. Dateiname   \? \ UNC [MY   PATH] \ applicationHost.config Fehler:   Kann wegen Konfigurationsdatei nicht schreiben   unzureichende Berechtigungen

Meine Einrichtung ist Windows 2008 R2, IIS 7.5, Framework 3.5 und meine applicationHost.config befindet sich auf einem SAN

Was könnte ich versuchen?

%Vor%     
Cédric Boivin 17.02.2011, 15:31
quelle

6 Antworten

6

Um Ihr dcom-Eigenschaftenobjekt zu entsperren, müssen Sie nur zwei Schritte ausführen.

Schritt 1 - Erteilen Sie "Vollzugriff" auf die "Ahadmin.dll":

  • Gehen Sie zu Ihrem IIS-Server und navigieren Sie zum Ordner 'c: \ windows \ system32 \'
  • Suchen Sie nach "Ahadmin.dll" und klicken Sie mit der rechten Maustaste darauf, um das Eigenschaftenfeld zu öffnen
  • Gehen Sie zur Registerkarte "Sicherheit" und gewähren Sie Ihrem NT-Benutzer "Vollzugriff"
  • Wenn Sie nicht die volle Kontrolle erhalten können, rufen Sie die Registerkarte "Eigentümer" auf und füge deinen NT-Benutzer oder eine Admin-Gruppe hinzu, der du angehörst, und klicke auf "Übernehmen" Und kehren Sie dann zum Tab "Sicherheit" zurück, um Ihnen die volle Kontrolle zu gewähren.

Schritt 2 - Erteilen Sie "Vollzugriff" auf den Registrierungsschlüssel:

  • Öffnen Sie auf dem IIS-Server den Registrierungs-Editor (Ausführen: regedit).
  • Platzieren Sie den Cursor auf den Stamm im linken Bereich.
  • Öffnen Sie ein Suchfeld und geben Sie "ahadmin" ein und klicken Sie auf "Suchen".
  • Die Registrierung findet einen Schlüssel im rechten Bereich. Klicken Sie mit der rechten Maustaste auf das übergeordnete Element Ordner dieses Schlüssels und öffnen Sie die Eigenschaften Box
  • Gehen Sie zur Registerkarte "Sicherheit" und gewähren Sie Ihrem NT-Benutzer "Vollzugriff"
  • Wenn Sie nicht die volle Kontrolle erhalten können, rufen Sie die Registerkarte "Besitzer" auf und füge deinen NT-Benutzer oder eine Admin-Gruppe hinzu, der du angehörst, und klicke auf "Übernehmen" Und kehren Sie dann zur Registerkarte "Sicherheit" zurück, um Ihnen die volle Kontrolle zu gewähren.

    Sie können nun Ihr dcom-Eigenschaftenobjekt bearbeiten

    Wenn das Objekt "dcom properties" immer noch gesperrt ist, warten Sie einige Minuten und versuchen Sie es erneut.

    Danach müssen Sie nur die Prozedur hier .

Nico 22.02.2011, 20:32
quelle
5

In unserem Fall war die Serverdiskette voll. Wir haben zusätzlichen Speicherplatz hinzugefügt und das Problem ist gelöst.

    
Murat 08.12.2014 12:16
quelle
2

Ich habe die vorhandene Datei "applicationhost.config" aus meiner Lösung gelöscht und die Lösung erneut geladen. Die Lösung hat die neue ApplicationHost.config-Datei selbst erstellt.

Es hat mein Problem gelöst.

    
Avinash Singh 24.01.2017 05:55
quelle
0

Stellen Sie sicher, dass sowohl die Sicherheitseinstellungen der Datei als auch die Sicherheitseinstellungen der Freigabe dem Benutzer erlauben, die Datei zu ändern. Da Sie auf die Konfigurationsdatei mit einem UNC-Pfad zugreifen, benötigen Sie Berechtigungen auf beiden Ebenen.

    
Jacob 17.02.2011 22:21
quelle
0

Wenn das virtuelle Verzeichnis einem freigegebenen Ordner zugeordnet ist. Sehen Sie sich die Berechtigungen der Freigabe an, standardmäßig unter Windows 7 / w2k8 Freigaben werden erstellt mit: Jeder (Lesen). Ändern der Berechtigungen der Freigabe zu: Jeder (FullControl)

Dadurch kann IIS über die Freigabe das tun, was es benötigt, da es nicht den vollständigen physischen Pfad verwendet.

    
Colm Guest 25.09.2014 15:01
quelle
0

Stellen Sie sicher, dass der Ordner mit dem Projekt NICHT verschlüsselt ist. Visual Studio hat Probleme mit verschlüsselten Ordnern zu arbeiten.

Ich habe meinen Benutzerordner verschlüsselt und Projekte werden nicht geöffnet, bis ich diese Ordner als unverschlüsselt markiert habe. Es ist albern, dass VS keinen sinnvollen Fehler liefert, der besagt, dass Sie die Verschlüsselung aus dem Projektordner entfernen sollten.

Um die Verschlüsselung zu entfernen, klicken Sie mit der rechten Maustaste auf den Projektordner und dann auf Erweitert. Deaktivieren Sie dann das Kontrollkästchen Verschlüsseln. Wenden Sie die Änderungen auf den Ordner selbst und alle verschachtelten Ordner und Dateien an.

    
Ivan Nikitin 06.10.2016 15:28
quelle