User Profile Fehler mit Exchange

Die Seite beschreibt einen Fehler beim Exchange Setup, welcher die Neuanmeldung von Administratoren auf dem Server verhindert. Der "User Profile Service" kann einige Dateien nicht kopieren. Ich kenne noch nicht die Ursache aber es hat vermutlich etwas mit Exchange 2016 Setup zu tun.

Fehlerbild

Innerhalb einer Woche habe ich zwei Testumgebungen mit einem Exchange 2016 Server auf das aktuelle CU aktualisiert und um einen zweiten Exchange Server für eine DAG erweitert. Eine Umgebung war die Testumgebung bei einem Kunden und die zweite Umgebung war meine höchst eigene VM-Umgebung. Als der Fehler das erste mal aufgetreten ist, habe ich noch an "Pech" geglaubt und das Problem einfach gefixt. Als dann aber 2 Tage später genau das gleiche Problem erneut aufgetreten ist, wurde es Zeit dies zu dokumentieren. Ich beschreibe das Problem an meiner eigenen Testumgebung:

Die Ausgangssituation war folgende

  • DC01: Windows 2012R2 Domain Controller
  • EX01: Exchange 2016 CU11 auf Windows 2012R2

Sie sehen, dass die Umgebung "etwas" älter gewesen ist und ein Update erforderlich machte. Zudem wollte ich ja eine DAG testen. Daher wurde etwas umgebaut:

  • EX01: Update von CU11 auf CU19
  • EX02: Exchange 2016 CU19 Neuinstallation auf Windows 2012R2
  • DC01: Neuer Admin-Benutzer für einen Kollegen einrichtet

Die Zugangsdaten zum neuen Admin-Benutzer habe ich an den Kollegen gegeben aber kurze Zeit später bekam ich folgendes Feedback bezüglich Anmeldung auf dem Server per RDP als auch per Hyper-V Konsole:

Benutzer Server Ergebnis

admin-FC

DC01

OK

admin-FC

EX01

OK

admin-FC

EX02

OK

admin-MP

DC01

OK

admin-MP

EX01

Profilfehler

admin-MP

EX02

OK

Der einzige Unterschied bei Server EX02 war, dass es eine "Neuinstallation" von Exchange 2016CU19 auf Windows 2012R2 war, während DC01 gar kein Exchange hatte und EX01 ein Upgrade war. Sollte es hier wirklich ein Problem mit einem Upgrade geben?

Fehlersuche

Im dem Zuge ist ein Blick ins Application-Eventlog als Administrator der erste Blick und sehr schnell war auch das Problem zu sehen.

Unter der Quelle "User Profile General" wird vermeldet, dass es viele Kopierfehler gab und in den Details sehen wir auch die betroffenen Dateien:

Log Name:      Application
Source:        Microsoft-Windows-User Profiles General
Date:          23.02.2021 10:46:56
Event ID:      1509
Task Category: None
Level:         Warning
Keywords:      
User:          UCLABOR\adm-mp
Computer:      EX01.UCLABOR.DE
Description:
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration12928_100.sqm 
to location \\?\C:\Users\TEMP\AppData\Local\Microsoft\Exchange Server\v15\Configuration12928_100.sqm. 
This error may be caused by network problems or insufficient security rights. 

 DETAIL - Access is denied.

Ein Profil wird nur dann aus "C:\Users\Default" kopiert, wenn der Anwender sich das allererste mal an einem Windows System anmeldet und kein Roaming Profile hat. Nur dann wird das "Default-Profil" kopiert und der Benutzer angemeldet. Das scheint hier nicht zu gehen

Dateien und Rechte

Also habe ich mir als Administrator die Liste der Dateien angeschaut.

PS C:\> Get-Eventlog -LogName Application -Source "Microsoft-Windows-User Profiles general" 
| ft message -AutoSize

Message
-------
There are too many profile copy errors. Refer to the previous events for details. Windows will not log any additiona...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration12928_100.sqm...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration13144_100.sqm...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration16024_100.sqm...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration17280_100.sqm...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration3508_100.sqm ...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration6572_100.sqm ...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration7800_100.sqm ...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration8768_100.sqm ...
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration9748_100.sqm ...

Alle Dateien liegen im Verzeichnis C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\. Da schauen wir doch mal genauer hin. Es finden sich bei mir 10 kleine SQM-Dateien binären Inhalts.

Die Berechtigungen auf dem Ordner selbst scheinen soweit schon in Ordnung zu sein.

PS C:\> Get-Acl "C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15" | fl


Path   : Microsoft.PowerShell.Core\FileSystem::C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15
Owner  : NT AUTHORITY\SYSTEM
Group  : NT AUTHORITY\SYSTEM
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
         BUILTIN\Users Allow  -1610612736
         Everyone Allow  ReadAndExecute, Synchronize
         Everyone Allow  -1610612736
Audit  :
Sddl   : O:SYG:SYD:AI(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;ID;0x1200a9;;;BU)(A;OICIIOID;GXGR;;;BU)(A;ID;0x1200a9;;;WD)
         (A;OICIIOID;GXGR;;;WD)

Aber auf die Dateien komme ich erst einmal nicht.

Der Versuch nun aber die Recht einer Datei als Admin in einer "normalen" Powershell zu lesen schlug aber fehl:

PS C:\> Get-Acl "C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration12448_100.sqm" | fl
Get-Acl : Attempted to perform an unauthorized operation.
At line:1 char:1
+ Get-Acl "C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configurat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-Acl], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetAclCommand

Also habe ich das über eine Admin-PowerShell (UAC) wiederholt.

PS C:\> Get-Acl "C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration12448_100.sqm" | fl


Path   : Microsoft.PowerShell.Core\FileSystem::C:\Users\Default\AppData\Local\Microsoft\Exchange
         Server\v15\Configuration12448_100.sqm
Owner  : NT AUTHORITY\SYSTEM
Group  : NT AUTHORITY\SYSTEM
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         NT AUTHORITY\LOCAL SERVICE Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
Audit  :
Sddl   : O:SYG:SYD:P(A;;FA;;;SY)(A;;FA;;;LS)(A;;FA;;;BA)

In dieser ACL fehlt sowohl "User" als auch "Everyone".

In meinem aktuellen Benutzerprofil, welches schon vor der Installation von Exchange angelegt wurde, gibt es den Ordner auch:

Allerdings sind das ganz andere Dateinamen und die Berechtigungen auf die Dateien ist ebenfalls nicht vererbt. Ich bin aber Besitzer und habe Vollzugriff und auch das Datum ist ein Indikator, dass etwas diese Datei erst nachträglich angelegt hat.

Lösung

Die Dateien scheinen aus dem Bereich "Software Quality Metrics" zu stammen und werden durch lokalen Code neu angelegt. Ich kann mir nur vorstellen, dass bei der Installation von Exchange diese Dateien irrtümlich nach "Default" kopiert werden. Denn benötigt werden Sie nicht. Es gibt nun zwei Optionen

  1. Dateien in C:\Users\Default\AppData\Local\Microsoft\Exchange Server\v15\Configuration12448_100.sqm" löschen
    Es sind nur ein paar Byte aber was nicht da ist, kann auch nicht stören. In meinem Benutzerprofil waren die Dateien noch nie da und eine Software sollte ja auch damit umgehen können, wenn es bestehende früher angelegte Benutzerprofile gibt
  2. Berechtigung "fixen"
    Alternativ können Sie auf den Dateien die erforderlichen Berechtigungen geben. Dazu reaktivieren Sie am besten die Vererbung auf den Dateien selbst oder erzwingen eine Vererbung vom Ordner auf alle darunterliegenden Objekte. Eine Unterbrechung der Vererbung sollte man sowieso nur mit Bedacht auswählen.

Wenn Sie grade nicht mehr auf ihren Server per RDP kommen, dann können Sie diese Änderungen auch aus der Ferne über "\\servername\c$" korrigieren. Mit den Details zu dem Fehler lohnt sich auch eine Suche im Internet und der Fehler scheint nicht nur mit Exchange aufzutreten. Anscheinend gibt es auch andere Programme, die ab und an ein paar "SQM-Dateien im "Default"-Userprofile mit falschen Berechtigungen ablegen und damit die Anmeldung erschweren.

In der Regel haben Sie aber immer ein Benutzerkonto, welches sich schon vor der Installation des fraglichen Produkts einmal angemeldet hat und damit ein funktionierendes Profil besitzt. Im Notfall müssen Sie das Kennwort dieses alten Kontos irgendwie in Erfahrung bringen, wenn Sie nicht über die Admin-Shares oder eine Windows BootCD oder Recovery oder das Problem lösen können. Sie wissen aber ja nun, wie sie im Eventlog die Ursache finden und wo sie dann eingreifen können.

Weitere Links