2017-05-12 4 views
0

Ich habe ein paar identisch konfigurierte Windows 2008-Webserver mit IIS 7.5, von denen sich einer bezüglich des "Benutzerprofils laden" nicht wie erwartet verhält. Ich bekomme einen gelben Bildschirm mit dem Hinweis "Das Profil für den Benutzer ist ein temporäres Profil". (Siehe weitere Informationen zum Fehler unten).IIS 7.5 Benutzerprofil laden Kein Benutzerprofil erstellen

Auf den meisten meiner Webserver ist die Lösung, "Load User Profile" von False auf True für den Anwendungspool unter "Advanced Settings" zu wechseln. In einer Box funktioniert dies jedoch nicht. Alle Webserver verfügen über Anwendungspools, die als interne Identität in unserem Netzwerk ausgeführt werden, z. "MyCompany.local \ TheAppPoolUser". Dieser Benutzer hat KEINE Anmeldeberechtigungen. Und auf allen Webservern, außer dem, der defekt ist, gibt es ein Verzeichnis unter C: \ Users \ TheAppPoolUser. Kein solches Verzeichnis existiert auf dem defekten Server. Ich habe versucht, den App-Pool zu recyceln, aber immer noch kein Verzeichnis.

Wann entscheidet Windows/IIS, das Verzeichnis zu erstellen? Ist es möglich, die Schöpfung zu erzwingen? Ist es möglich, es manuell zu erstellen? Ich weiß nicht, wie/wann das Verzeichnis auf den anderen Rechnern erstellt wurde.

Hier sind die Details auf dem gelben Schirm des Todes Fehler:

The profile for the user is a temporary profile.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Security.Cryptography.CryptographicException: The profile for the user is a temporary profile.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[CryptographicException: The profile for the user is a temporary profile. ]
RabbitMQ.Client.EndpointResolverExtensions.SelectOne(IEndpointResolver resolver, Func`2 selector) +294
RabbitMQ.Client.ConnectionFactory.CreateConnection(IEndpointResolver endpointResolver, String clientProvidedName) +178

Antwort

0

Kurzgeschichte - Sie nichts einfach mit dem Thema tun. Sie können nur versuchen, es zu umgehen.

Längere Geschichte - temporäre Profile werden manchmal erstellt nach dem Zufallsprinzip, für verschiedene nicht-das-leicht-klare Gründe. Es gibt mehrere Verweise darauf, z.B.

http://paulstovell.com/blog/x509certificate2

However it can also happen just sometimes, randomly. Maybe there was a problem with the registry that prevented a profile directory being created. Maybe someone got a little overzealous with group policy. I've had all kinds of bug reports about this. One option is to try stopping any services that run under that account (including application pools) and then logging in interactively to the computer as the user to force a profile to be created. Then log out, and restart the services.

Leider Teile des Krypto-Subsystem erfordert das Benutzerprofil erstellt und diese Einschränkung aus der alten DPAPI die auf .NET Crypto-Subsystem bezieht kommt werden.

Mein persönlicher Kampf hat in meinem Blog-Eintrag

http://www.wiktorzychla.com/2016/08/signedxmlchecksignature-and-dreadful.html

und es geht um die gleiche genaue Ausnahme wie bei Ihnen, aber höchstwahrscheinlich in etwas anderen Szenario beschrieben (für mich war es die Art und Weise XML-Signaturen validiert durch das Crypto-Subsystem).

Auf jeden Fall gibt es zwei mögliche Lösungen:

  • Sie zu diesem bestimmten Feld in einem interaktiven Modus als App Pool Identität anmelden können -, die das OS zwingt das Profil zu erstellen. Wenn das Problem nicht behoben ist, können Sie versuchen, das Profil zu löschen (obwohl das Problem darin besteht, dass das Profil in einem limbo Zustand ist, in dem es nicht erstellt werden kann, wenn Sie versuchen, als dieser Benutzer zu protokollieren, aber auch nicht sichtbar ist Liste von Profilen auf diesem Computer, so dass Sie es nicht löschen können)

  • Sie können die APIs umgehen, die das Problem verursachen - das war in meinem Fall möglich, wird aber nicht für Sie arbeiten, da die Ursache für Ihr Problem ist die RabbitMQ-Client-Bibliothek, die Sie nicht einfach selbst reparieren können, wahrscheinlich