SBS 2008 Serverfehler in der Anwendung /Remote

Aus einem uns unerfindlichen Grund brachte ein SBS 2008 beim Aufruf des Remotearbeitsplatzes folgende Fehlermeldung:

Verbindung zur Site "Remote-Webarbeitsplatz" kann nicht hergestellt werden. Wenden Sie sich an den Netzwerkadministrator, um fortzufahren.

Mmmm diese Meldung ist mehr als nichtssagend. Bevor ich jedoch mich durch EventLogs oder IIS Logdateien durch kämpfe habe ich mal
intern versucht die Seite zu öffnen. Und siehe da wir bekommen viel Text:

Serverfehler in der Anwendung /Remote.
--------------------------------------------------------------------------------

Der Zugriff auf das temporäre Verzeichnis wird verweigert. Die Identität ‚NT-AUTORITÄT\NETZWERKDIENST‘, unter der ‚XmlSerializer‘ ausgeführt wird, verfügt nicht über ausreichende Berechtigungen für den Zugriff auf das temporäre Verzeichnis. ‚CodeDom‘ verwendet das Benutzerkonto, über das der Prozess die Kompilierung durchführt. Wenn der Benutzer über keinen Zugriff auf das temporäre Systemverzeichnis verfügt, können Sie nicht kompilieren. Ermitteln Sie die Position des temporären Verzeichnisses mithilfe von ‚Path.GetTempPath() API‘.
Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.

Ausnahmedetails: System.UnauthorizedAccessException: Der Zugriff auf das temporäre Verzeichnis wird verweigert. Die Identität ‚NT-AUTORITÄT\NETZWERKDIENST‘, unter der ‚XmlSerializer‘ ausgeführt wird, verfügt nicht über ausreichende Berechtigungen für den Zugriff auf das temporäre Verzeichnis. ‚CodeDom‘ verwendet das Benutzerkonto, über das der Prozess die Kompilierung durchführt. Wenn der Benutzer über keinen Zugriff auf das temporäre Systemverzeichnis verfügt, können Sie nicht kompilieren. Ermitteln Sie die Position des temporären Verzeichnisses mithilfe von ‚Path.GetTempPath() API‘.

ASP.NET darf auf die angeforderte Ressource nicht zugreifen. Gewähren Sie der ASP.NET-Anforderungsidentität Zugriffsrechte für die Ressource. ASP.NET hat eine Standardprozessidentität (gewöhnlich {MACHINE}\ASPNET unter IIS 5 bzw. Network Service unter IIS 6), die verwendet wird, wenn die Anwendung keinen Identitätswechsel ausführen kann. Wenn die Anwendung über einen Identitätswechsel ausführen kann, wird als Identität gewöhnlich der anonyme Benutzer (normalerweise IUSR_MACHINENAME) bzw. der authentifizierte Anfragebenutzer verwendet.

Um ASP.NET Zugriff auf eine Datei zu gewähren, klicken Sie im Explorer mit der rechten Maustaste auf die Datei, wählen „Eigenschaften“ und anschließend die Registerkarte „Sicherheit“. Klicken Sie auf „Hinzufügen“, um den entsprechenden Benutzer bzw. eine Gruppe hinzuzufügen. Markieren Sie das ASP.NET-Konto, und aktivieren Sie jeweils das Kontrollkästchen für den gewünschten Zugriff.

Quellfehler:

Beim Ausführen der aktuellen Webanforderung wurde einen unbehandelte Ausnahme generiert. Informationen über den Ursprung und die Position der Ausnahme können mit der Ausnahmestapelüberwachung angezeigt werden.

Stapelüberwachung:

[UnauthorizedAccessException: Der Zugriff auf das temporäre Verzeichnis wird verweigert. Die Identität ‚NT-AUTORITÄT\NETZWERKDIENST‘, unter der ‚XmlSerializer‘ ausgeführt wird, verfügt nicht über ausreichende Berechtigungen für den Zugriff auf das temporäre Verzeichnis. ‚CodeDom‘ verwendet das Benutzerkonto, über das der Prozess die Kompilierung durchführt. Wenn der Benutzer über keinen Zugriff auf das temporäre Systemverzeichnis verfügt, können Sie nicht kompilieren. Ermitteln Sie die Position des temporären Verzeichnisses mithilfe von ‚Path.GetTempPath() API‘.]
System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence) +1618535
System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies) +2890
System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence) +125
System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace) +144
System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace) +545
Microsoft.WindowsServerSolutions.IWorker.RWW.RWWConfig.readFromXml(String configFile) +96
Microsoft.WindowsServerSolutions.IWorker.RWW.LogonPage.get__RWWConfig() +42
Microsoft.WindowsServerSolutions.IWorker.RWW.LogonPage.Page_Load(Object sender, EventArgs e) +590
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42

Man könnte meinen bla bla IIS defekt aber nein es fehlen schlicht die Zugriffsrechte auf den Ordner „C:\Windows\Temp\“ für „NT-AUTORITÄT\NETZWERKDIENST“.
Lange Rede gar kein Sinn, die Rechte neu gesetzt, fertig geht wieder.

Aber ich hatte keine Ruhe und wollte es bei einem Kundenserver der auch SBS2008 (nicht SBS2011) hat mal vergleichen.
Bei erster Sichtprüfung stellte sich heraus das noch weitere Benutzer oder Gruppen Zugriff benötigen.
AccessEnum brachte dann einen übersichtlichen Export der Benutzer die Zugriff benötigen.

LOKALER DIENST = Lesen,Ausführen / Ordnerinhalt auflisten / lesen
NETZWERK DIENST = VOLL Zugriff
WSS_ADMIN_WPG = VOLL Zugriff
WSS_WPG = Lesen,Ausführen / Ordnerinhalt auflisten / lesen
IIS_IUSRS = Ordnerinhalt auflisten / lesen

ggf. „iisreset“ und alles ist wieder i.O.

Dieser MS Artikel http://support.microsoft.com/kb/2291678 hatte mich auf die Spur gebracht. Da auf diesem Server die SBS Konsole auf nicht mehr richtig funktionierte.
Jetzt funktioniert die WEB APP und die Konsole wieder 😉 (mal sehen wie lange)

Share

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

GJ51KB

Bitte geben Sie den Text vor: